Как войти в систему с одной ролью, если пользователю назначено несколько ролей в laravel? - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть вариант использования, когда пользователь, имеющий несколько ролей, хочет войти в систему пользователя с одной ролью одновременно и предоставить права соответствующей роли.Например, у пользователя есть роль сотрудника, менеджера и финансового менеджера, и каждая роль имеет свои собственные разрешения / права.Итак, теперь я хочу, чтобы система запрашивала выбор роли, когда пользователь пытается войти в систему, и на основе этого выбора он будет аутентифицироваться.

Laravel 5.4

Zizaco / entrust 1.3.x

TIA.

1 Ответ

0 голосов
/ 29 ноября 2018

Вам нужна множественная функция охраны для разных ролей пользователя.Вы можете изменить это в config / auth.php

Во время входа в систему вы можете использовать выпадающее меню.Основываясь на этом входе, вы можете определить другую защиту в вашем контроллере.Ваш код может выглядеть примерно так:

if (request('role')=='admin')
   if(Auth::guard('admin')->attempt($credentials)){
       // your code to login
   }

else if (request('role')=='user')
   if(Auth::guard('user')->attempt($credentials)){
       // your code to login
   }

Для получения дополнительной информации об аутентификации вы можете просмотреть документацию

...