Laravel 护照
Laravel Passport
我目前正在研究构建SaaS 构建管理工具。
我想知道的是,如果我使用 laravel 通行证作为 api 令牌,我该如何为用户分配角色 例如:
SuperAdmin:可以创建项目 |可以创建新用户并为用户分配角色。
管理员:可以查看项目。
因为我希望能够根据用户权限在我的前端隐藏元素。
例如,如果我做了一个传统的 laravel 应用程序,我可以使用委托并使用 blade 指令 @role('admin') 来显示基于用户权限类型的元素。
您可以使用策略和门:https://laravel.com/docs/5.4/authorization
那么就变得像
一样简单
$user = Auth::guard('api');
if ($user->can('create', Post::class)) {
// Do something
}
hide/show前端的东西,当你得到用户时,你也得到了他们的权限
$user = Auth::guard('api');
$user->isAdmin = $user->can('create', Post::class); //returns true or false
在您的前端中,您 show/hide 使用它。例如:使用 angular
<li ng-if="vm.user.isAdmin">Admin</li>
我目前正在研究构建SaaS 构建管理工具。 我想知道的是,如果我使用 laravel 通行证作为 api 令牌,我该如何为用户分配角色 例如:
SuperAdmin:可以创建项目 |可以创建新用户并为用户分配角色。
管理员:可以查看项目。
因为我希望能够根据用户权限在我的前端隐藏元素。
例如,如果我做了一个传统的 laravel 应用程序,我可以使用委托并使用 blade 指令 @role('admin') 来显示基于用户权限类型的元素。
您可以使用策略和门:https://laravel.com/docs/5.4/authorization
那么就变得像
一样简单$user = Auth::guard('api');
if ($user->can('create', Post::class)) {
// Do something
}
hide/show前端的东西,当你得到用户时,你也得到了他们的权限
$user = Auth::guard('api');
$user->isAdmin = $user->can('create', Post::class); //returns true or false
在您的前端中,您 show/hide 使用它。例如:使用 angular
<li ng-if="vm.user.isAdmin">Admin</li>