我试图根据用户的角色找出是否有更好的方式显示菜单项。下面的代码有效,但我不确定这是否正确。我制作了一个CheckAdmin中间件,并实现了用于显示菜单的相同代码。
表格
1.用户-> ID,名称,密码
2.角色-> ID,名称
3. user_role-> user_id,role_id
CheckAdmin中间件
public function handle($request, Closure $next)
{
$userRoles = Auth::user()->roles->pluck('name');
if(!$userRoles->contains('Admin')){
return redirect('/permission-denied');
}
return $next($request);
}
HomeController
public function index()
{
$user = Auth::user()->roles->pluck('name');
return view('home',compact('user'));
}
查看
@if($user->contains('Admin'))
<li>
<a href="#">adminPage</a>
</li>
@endif
@if($user->contains('User'))
<li>
<a href="#">userPage</a>
</li>
@endif