我正在为我的应用程序开发一种 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 )
...
但是我被困在最后一部分,即获得用户有权访问的页面的权限。我不知道怎么办。
我觉得我没说清楚......
我真正需要的是,获得用户有权访问的页面的权限。
示例:
用户 1 - Mike,角色 1 - 管理员,有权访问页面 1 - 主页、2 - 帖子和 3 - 仪表板,现在我需要列出每个页面的权限。
你能帮我编码吗?
感谢并抱歉我的英语不好
我感谢您可以从尝试这样的用户那里获取页面:
$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
如果我理解得很好,您正在列出用户有权访问的页面
如何获得该页面的权限?
你看到桌子的图片了吗?
谢谢您!
您可以为此使用 spatie/laravel-permission 包