基于用户角色的Laravel显示菜单

时间:2019-07-30 09:20:44

标签: php laravel permissions roles

我试图根据用户的角色找出是否有更好的方式显示菜单项。下面的代码有效,但我不确定这是否正确。我制作了一个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

0 个答案:

没有答案
相关问题