如何使中间件检查角色用户并重定向到其他视图

时间:2019-05-23 05:22:13

标签: laravel

我正在与角色用户一起在laravel中创建项目。我使用Laravel 5.8,在我的项目中,我希望用户使用中间件检查用户角色,从而重定向到其他视图。
我的桌子是:
users table:(nameemail),
roles table:(namedesc
role_user:(id_roleid_user

我已经创建了中间件 CheckRoleMiddleware

public function handle($request, Closure $next)
{
    foreach (Auth::user()->roles as $role) {
        if ($role->name == 'admin') {
            return $next($request);
        } elseif ($role->name == 'writer') {
            return redirect('/writer');
        }
    }
    return redirect('/home');
}

路由 web.php

Route::group(['middleware' => 'role'], function (){
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/writer', function (){
    return view('writer.index');
})->name('writer.index');

});

URL更改,但是不幸的是,我无法通过用户登录名的角色进入视图。我希望这里的任何人都能帮助我解决这个问题。
谢谢

0 个答案:

没有答案