我正在使用laravel-permission包。我已经创建了两个角色,admin和user,并将admin角色与一个权限Access CMS关联起来。我还创建了两个用户,一个具有admin角色,另一个具有user角色。
我已经把我所有的admin路由都放在AdminMiddleware后面了
Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'isAdmin']], function() {
// Routes
}中间件来自于this tutorial
public function handle($request, Closure $next)
{
if (!Auth::user()->hasPermissionTo('Access CMS')) {
die('aargh');
}
return $next($request);
}这适用于具有admin角色的用户。问题是,当我使用另一个用户登录时,它会dies (这是应该的),但该用户仍保持登录状态。即,如果我在此尝试之后回显Auth::user(),则显示非admin用户。我所期望的是,它可以完全阻止该用户登录。我遗漏了什么?
https://stackoverflow.com/questions/44654380
复制相似问题