Laravel中permission权限管理的扩展包怎么用
导读:本文共4020字符,通常情况下阅读需要13分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 什么是多用户角色举个例子,例如我们平常使用的论坛站长 ------ 拥有最高权限,最主要的是能够对用户进行管理的权限管理员 ----- 对一些文章的管理,不会造成对网站有较大的影响vip ----- 对一些资源有下载权限普通用户 ---- 只能够进行简单的对自己文章的增删改、评论等游客 ---- 只能进行基本的浏览建表roles ------- 角色信息:站长等... ...
目录
(为您整理了一些要点),点击可以直达。举个例子,例如我们平常使用的论坛
站长 ------ 拥有最高权限,最主要的是能够对用户进行管理的权限
管理员 ----- 对一些文章的管理,不会造成对网站有较大的影响
vip ----- 对一些资源有下载权限
普通用户 ---- 只能够进行简单的对自己文章的增删改、评论等
游客 ---- 只能进行基本的浏览
roles ------- 角色信息:站长等
permissions ------- 权限信息:管理内容等
model_has_roles ------- 模型对应角色 = 用户对应的角色
role_has_permissions ------- 角色对应权限 = 角色有什么权限
model_has_permissions ------- 模型对应权限 = 用户有权限
我们来梳理一下关联关系
权限(permissions)与 角色(roles) ,一个 权限 可能被多个 角色 拥有,一个 角色 可能有多个 权限,关联关系:多对多(role_has_permissions)
用户 与 权限 一对多(model_has_permissions)
用户 与 角色 一对多(model_has_roles)
由次来说,关系明确了,当用户有什么角色 或者 有什么权限,即执行相应的操作
1. 安装扩展包
生成数据库迁移文件:
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
在 migration 目录下可看到相关表信息,执行数据库迁移
生成配置信息:
在 User 模型下加载
创建角色 和用户
为用户添加权限
为用户添加角色
给用户删除权限
给角色添加权限
为角色添加权限
撤销一个权限 并且 添加一个新权限
获得当前用户的角色集合
将多个角色同步到权限
从角色中删除权限
获取当前的用户的权限列表
获取用户的所有权限,或者直接权限 (odel_has_permissions),或者从角色获取,或者从两者获取
获取用户的角色集合 collection
返回指定角色的用户 | Returns only users with the role 'writer'
返回指定权限的用户
用户有什么角色
检查是否有某个权限
检查是否有某个角色 | 或者列
传递 id 值进行判断是否有某个权限
是否拥有一组权限
检查一个角色是否有某些权限 | 删除某些权限
Laravel中permission权限管理的扩展包怎么用的详细内容,希望对您有所帮助,信息来源于网络。