php - 一种排序角色的方法
问题描述
我正在寻找一种方式来安排我的角色。作为角色排名。
让我解释一下,我的用户可以创建角色。一个角色可以优于另一个角色,我正在寻找一种方法来做到这一点。
用户可以创建一个新用户,并选择他将拥有的角色,我想限制某些角色。版主不能创建管理员或版主,只能创建普通用户。
这是我的榜样:
class Role extends Model
{
use Notifiable;
/**
* The attribute that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
'description'
];
public function permissions()
{
return $this->hasOne(Permissions:class);
}
}
每个角色都有其权限。
你有什么想法吗?
解决方案
角色和权限是添加到 Laravel 应用程序的常见功能,我发现有一些非常好的库可供选择,例如laravel-permission
Spatie 的家伙(https://docs.spatie.be/laravel-permission/v3/简介/ )
即使您不选择现有的库,原则也是一样的。
- A
Role
会有Permission
很多 - 每个人都
Permission
将授予对操作和/或区域的访问权限 - 执行操作时进行检查以查看当前经过身份验证的用户是否具有权限(通常通过中间件)
因此,如果您想限制“版主”创建“管理员”或“版主”用户的能力,请为其创建一个权限,如“可以创建管理员用户”并将其仅分配给“管理员”用户。
所以你并不是真的“排序”或“排名”你Role
的 s,把它想象成一个角色只是Permission
s的集合
推荐阅读
- autohotkey - 如何从 activex 资源管理器中检索显示的文本?
- blazor - 如何在 Blazor 中切换主布局?
- c# - VS Code 使用正则表达式将 C# 变量声明替换为 TypeScript 变量声明
- javascript - 如何将一组数组推入主数组?
- javascript - 在 JavaScript 中将整数转换为一位小数
- c# - 如何遍历字典中满足某些条件的所有项目?C#
- python - 理解和实施 Element-Wise Attention 模块
- html - 在两个箭头之间放置一个文本
- php - PHP 反转基值 + 的逻辑?= 结果值
- python - Python & Qt、QGraphicsScene 碰撞和 typeid(来自 c++)