Как аутентифицировать пользователя из таблицы, а не таблицы «пользователи» в Laravel 5.1?

Я новичок в Laravel и пытаюсь аутентифицировать пользователя из таблицы игроков.

Как мы знаем, Auth::attempt используется для аутентификации пользователя, и по умолчанию он работает для таблицы пользователей, а для таблицы пользователей он работает идеально. Но теперь я хочу аутентифицировать другого пользователя (игрока) из другого стола (игроков), но не могу найти решение.


person Amrinder Singh    schedule 24.08.2015    source источник
comment
Создайте новую аутентификацию или вы можете использовать те же пользователи таблицы и часть роли пользователя аутентификации, чтобы разрешить/ограничить доступ к вашему приложению. Надеюсь, это поможет.   -  person mdamia    schedule 24.08.2015


Ответы (1)


У меня было такое же требование. У меня было две пользовательские таблицы users (для основного сайта) и admins (для панели администратора). Для этого я должен аутентифицировать пользователя admin в таблице admins. Я хотел использовать стандартную библиотеку аутентификации. Итак, я сделал следующее промежуточное ПО.

Конечно, у меня была отдельная форма входа для панели администратора.

<?php namespace App\Http\Middleware;

use Closure;

class ChangeUserToAdmin
{

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        \Config::set('auth.table', 'admins');
        \Config::set('auth.model', 'App\DB\Admin\Admin');

        \Config::set('session.cookie', 'admin_session');
        \Config::set('session.path', '/admin/');

        return $next($request);
    }

}

Все мои маршруты в группе маршрутов admin (т.е. domain.com/admin/**) были защищены этим промежуточным программным обеспечением. По сути, я изменил модель аутентификации и таблицу для области admin.

person pinkal vansia    schedule 24.08.2015