• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

laravel权限管理

php 搞代码 3年前 (2022-01-22) 27次浏览 已收录 0个评论

这篇文章介绍的内容是关于laravel权限管理,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

用这个包:
https://github.com/spatie/laravel-permission

中文翻译:
https://laravel-china.org/topics/8018/extension-recommendation-role-and-authority-control-in-spatielaravel-permission-laravel-applications

补充的方法:

#获取所有拥有这个权限的用户:$users = User::role($role_name)->get();
$role=Role::find($role_id);#获取这个角色已经有的权限$permissions = $role->permissions;<strong>*本文来源gaodai#ma#com搞@代~码^网+</strong><strong>搞代gaodaima码</strong>#获取这个角色没有的权限$diffpermissions = Permission::whereNotIn('id', $permissions->pluck('id'))->get();
#清除现有权限及缓存,并重新分配权限,权限可以是数组$role->syncPermissions($permissions);
#获取一个用户的所有权限,$user是User的一个实例$permissions = $user->getAllPermissions();
#给用户分配角色,使其继承这个角色的的权限。$user->assignRole('writer');#给角色分配权限$res = $role->givePermissionTo($permissions);#给用户分配权限,三种方式都可以$user->givePermissionTo('edit articles');// You can also give multiple permission at once$user->givePermissionTo('edit articles', 'delete articles');// You may also pass an array$user->givePermissionTo(['edit articles', 'delete articles']);// 获取所有已定义的角色的集合$roles = $user->getRoleNames(); // 返回一个集合
#可以使用下面其中一种方法将多个权限同步赋予到一个角色:$role->syncPermissions($permissions);$permission->syncRoles($roles);#可以使用以下其中一种方法通过角色去删除权限:$role->revokePermissionTo($permission);$permission->removeRole($role);

相关推荐:

laravel的模板yeild使用

以上就是laravel权限管理的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:laravel权限管理
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址