我正在尝试只允许管理员用户在我的laravel项目中查看导航栏的某些内容 . 我有一个 users
表,其中包含一个由'admin'和'user'值组成的角色列,我在中间件中使用这些值,以允许管理员用户访问CRUD操作的管理面板 .
我试过了:
@if(auth()->check())
@if(Auth::user()->get(array('users.role')) == 'admin')
'THIS IS WHAT I WANT ONLY ADMIN USERS TO SEE!'
@endif
@endif
然而,当登录到“管理员”用户时,我仍然看不到仅限管理员的内容 . 我对这个框架很新,但如果有人有任何建议我会非常感激!
谢谢,
山姆
2 回答
试试这个:
Auth::user()
与Auth::check()
相同,它将检查用户是否经过身份验证 . 仅当用户通过身份验证时,Laravel才会运行Auth::user()->role == 'admin'
,这将检查用户是否为管理员 .您可以创建一个单独的管理中间件组:
这样你就可以保护只允许管理员的路线:
对于您的代码,您可以查看: