Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.12.2016 19:05:56

Роли пользователей 5.3

Как можно реализовать роли пользователей самому?
Как авторизацию я использую

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)

Не в сети

#2 25.12.2016 22:15:33

Re: Роли пользователей 5.3

Все подробности в студию.

https://laravel.ru/forum/viewtopic.php?id=2073

Изменено web_coder (25.12.2016 22:16:34)

Не в сети

#3 26.12.2016 18:34:51

Re: Роли пользователей 5.3

Вы проверяете только авторизован ли юзер и админ ли он? Тогда пропускаете его куда он шел.
Всех остальных редиректите на /news.
Вашего посредника нужно зарегистрировать в kernel.php и либо роуты обернуть им, либо прописать в config.auth.php (guards, с ними я не знаю как работать).
Для создания других ролей, нужно добавлять их в таблицу Roles и добавить проверку в посредника.
В документации все описано.

Изменено Grumm (26.12.2016 18:36:04)

Не в сети

Подвал раздела