Laravel:身份验证和角色依赖包括

时间:2017-03-12 14:24:34

标签: php laravel laravel-5 laravel-5.4

第一个Laravel项目。 我想在身份验证中实现这个逻辑:

Check if user logged in
 - If no: go to log in screen (views/auth.login)
 - If yes: check his role
    - if admin: Load admin navbar
    - if user: Load user navbar

对于登录我想使用login.blade.php而对于“index”我想使用index.blade.php

在layouts.master的正文中,我有一个带有“nav”类的部分,在本节中我想要包含一个取决于用户角色的管理员或用户菜单。

什么是最好的方法?

2 个答案:

答案 0 :(得分:1)

网上有无数的认证教程。只是谷歌吧。你会找到一些东西。然后找到一种识别管理员的方法;通过role_id,或简单地使用isAdmin = true之类的属性。

在用户模型中,定义一个函数isAdmin(),根据某些验证返回true或false。

在你看来

@if( Auth::user()->isAdmin())
    @include('inludes.nav.admin')
@else 
    @include('inludes.nav.user')
@endif

基于角色的身份验证教程示例:http://alexsears.com/article/adding-roles-to-laravel-users/

如果您按照他的教程,在视图中

@if( $user->hasRole('admin') )  //or something similar

答案 1 :(得分:0)

重定向到登录页面已经存在。 在您的视图中,您可以检查角色并加载正确的栏。