我正在与角色用户一起在laravel中创建项目。我使用Laravel 5.8,在我的项目中,我希望用户使用中间件检查用户角色,从而重定向到其他视图。
我的桌子是:
users table
:(name
,email
),
roles table
:(name
,desc
)
role_user
:(id_role
,id_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更改,但是不幸的是,我无法通过用户登录名的角色进入视图。我希望这里的任何人都能帮助我解决这个问题。
谢谢