Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Как можно реализовать роли пользователей самому?
Как авторизацию я использую
php artisan make:auth
Я пытаюсь создать middleware, с таким кодом :
public function handle($request, Closure $next)
{
if(Auth::check() && User::isAdmin()){
return $next($request);
}
return redirect('/news');
}
Сама функция проверки такая :
public static function access_user()
{
if(Auth::check()){
$id = Auth::user()->id_user_group;
$group = UserGroup::find($id);
return $group->access;
}
return 0;
}
public static function isAdmin()
{
if(User::access_user() == 6){
return true;
}
return false;
}
И пытаюсь создать таких посредников n-количество, но у меня не работает ничего((
Все переменные возвращаются так как я и планировал(т.е. где число, а где true/false)
Не в сети
Все подробности в студию.
https://laravel.ru/forum/viewtopic.php?id=2073
Изменено web_coder (25.12.2016 22:16:34)
Не в сети
Вы проверяете только авторизован ли юзер и админ ли он? Тогда пропускаете его куда он шел.
Всех остальных редиректите на /news.
Вашего посредника нужно зарегистрировать в kernel.php и либо роуты обернуть им, либо прописать в config.auth.php (guards, с ними я не знаю как работать).
Для создания других ролей, нужно добавлять их в таблицу Roles и добавить проверку в посредника.
В документации все описано.
Изменено Grumm (26.12.2016 18:36:04)
Не в сети
Страницы 1