Логин охранника - PullRequest
       2

Логин охранника

1 голос
/ 13 мая 2019

Я немного застрял, используя свой логин для моих пользователей-администраторов.

Я предпочитаю использовать другую модель для моего администратора, чтобы убедиться, что все разделено. Я видел много примеров, чтобы сделать охрану для входа в систему. Посмотрев несколько уроков и прочитав несколько статей, я попробовал и застрял.

Для моего Админа я сделал второго охранника.

 'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'admin' => [
        'driver' => 'session',
        'provider' => 'admins',
    ],
    'api' => [
        'driver' => 'token',
        'provider' => 'users',
        //'hash' => false,
    ],
],

с использованием провайдеров:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Models\Users\Admin::class,
    ]
]

И да, моя модель администратора находится в пространстве имен App \ Models \ Users;

В контроллере входа я изменил:

Auth::attempt($request->only('email', 'password'));

до:

Auth::guard('admin')->attempt($request->only('email', 'password'));

Без охраны это работает / Получить аутентификацию с моделью пользователя. Но я хочу, чтобы администратор работал, чтобы получить модель администратора.

Прямо сейчас, ничего не случилось. Не ошибка или пользователь Auth.

Кто-нибудь здесь, кто видит, что я здесь делаю неправильно?

P.S. Я очистил конфиг: кеш и т. Д. Уже много.

UPDATE: Когда я изменил Gaurd по умолчанию на 'admin' и авторизовался без указания охраны. Я вернул модель администратора. Что-то идет не так, когда я использую Auth::guard('admin')

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Ладно, я ненавижу себя и каждого доктора, который только возможен.Это работает.Но чтобы получить пользователя, который вошел в систему, вы также должны указать охрану.

, если вы входите в систему с защитой, как это:

Auth::guard('admin')->attempt($request->only('email', 'password'));

Вы также должны получить пользователя сохранник так:

Auth::guard('admin')->user()

лицевой щиток

0 голосов
/ 14 мая 2019

Вы пытались использовать auth()->guard('admin'). Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...