我正在为我的应用程序开发一种ACL,使用4个表:
我可以获得
的关系用户和角色:
$user = App\Models\User::find( Auth::user()->id );
//
foreach( $user->roles as $user_role )
...
角色和页面:
$roles = App\Models\Role::find( $user_role->id );
//
foreach( $roles->pages as $role_page )
...
但是我坚持最后一部分,即获得用户可以访问的页面的权限。我不知道怎么做。
我不认为我让自己清楚......
我真正需要的是,获取用户可以访问的页面的PERMISSIONS。
示例:
用户1 - 拥有角色1 - 管理员的Mike,可以访问页面1 - Home,2 - Post和3 - Dashboard,现在我需要列出每个页面的权限..
你能帮我编码吗?
感谢和抱歉我的英语不好
答案 0 :(得分:0)
我感谢你可以从用户那里尝试这样的页面:
$user = App\Models\User::find( Auth::user()->id );
//
foreach( $user->roles as $user_role ) {
$user_pages = $user_role->pages;
//...
}
查看这部分文档,也许会对您有所帮助:https://laravel.com/docs/5.3/eloquent-relationships#has-many-through
答案 1 :(得分:0)
如果我理解,您列出了用户有权访问的页面
如何获得该页面的权限?
你看到桌子的图片了吗?
谢谢!
答案 2 :(得分:0)
您可以使用 spatie / laravel-permission 包进行此