我目前正在研究构建 SaaS 构建管理工具。我想知道的是,如果我使用 laravel 护照作为 api 令牌,我如何为用户分配角色例如:
SuperAdmin:可以创建项目| 可以创建新用户并将角色分配给用户。
管理员:可以查看项目。
因为我希望能够根据用户权限隐藏前端的元素。
例如,如果我做了一个传统的 laravel 应用程序,我可以使用 entrust 并使用刀片指令 @role('admin') 来根据用户权限类型显示元素。
我目前正在研究构建 SaaS 构建管理工具。我想知道的是,如果我使用 laravel 护照作为 api 令牌,我如何为用户分配角色例如:
SuperAdmin:可以创建项目| 可以创建新用户并将角色分配给用户。
管理员:可以查看项目。
因为我希望能够根据用户权限隐藏前端的元素。
例如,如果我做了一个传统的 laravel 应用程序,我可以使用 entrust 并使用刀片指令 @role('admin') 来根据用户权限类型显示元素。
您可以使用策略和盖茨:https ://laravel.com/docs/5.4/authorization
然后它变得如此简单
$user = Auth::guard('api');
if ($user->can('create', Post::class)) {
// Do something
}
要在前端隐藏/显示内容,当您获得用户时,您也会获得他们的权限
$user = Auth::guard('api');
$user->isAdmin = $user->can('create', Post::class); //returns true or false
在你的前端,你可以用它来显示/隐藏东西。例如:使用角度
<li ng-if="vm.user.isAdmin">Admin</li>