【发布时间】:2019-08-07 03:52:07
【问题描述】:
我想要的是我可以根据登录用户的角色为相同的路由使用不同的控制器,所以如果用户以管理员角色登录,我希望给定 url 的控制器从 Admin 命名空间加载。我已经这样做了
Route::group(['middleware'=>['install','auth']],function(){
$role = \Auth::user()->role;
switch ($role)
{
case 'admin':
$prefix = 'Admin\\';
break;
case 'Foo':
$prefix = 'Foo\\';
break;
}
Route::resource('/foo',$prefix.'FooController');
//.......
但是据说 Auth::user() 为空,还有其他方法吗?
【问题讨论】:
-
使用 Auth::check() 你可以检查是否有任何用户登录,而不是通过 Auth::User()->role use 可以获取用户的角色。确保你的使用模型扩展了 Authenticatable .