常见的CMS角色和访问级别

Mee*_*p3D 16 php permissions roles access-levels content-management-system

我目前正在编写CMS并记住有人(可能已经在这里)批评现有的CMS没有足够强大的用户权限系统.我有一个计划出来的方法,但我觉得它已陷入通常的陷阱,有点太细粒度,这使得理解和实施它对最终用户来说是一种恐怖.

我认为拥有一系列具有权限的默认用户角色就是答案,所以我想我的问题是:

您希望在CMS中看到哪些默认角色以及与这些角色相关联的权限类型?

提前致谢!

Pek*_*ica 25

这是我在大多数项目中最终得到的"最佳实践",我非常满意:

1.角色

谈到角色时,我建议灵活性很高,即能够自由创建和定义用户帐户和组("贡献者","管理员"等角色)不是硬编码的,而是放入可以是的配置文件中.根据申请变更).角色配置对用户来说是不可访问的,但引擎本身应该没有硬编码角色.

2.权利

权利是需要易于理解和实施的地方.

在代码/ API级别上使用并检查了非常细粒度的权限,我已经取得了非常好的经验:

  • 看到
  • 视图
  • 编辑
  • 更换名字
  • 改名
  • 删除
  • 移动
  • 改变权利
  • 等等

用户从未见过这些.对于他们来说,他们被为极少数"正确的群体":

  • 只读
  • 编辑
  • 管理=移动,重命名....

用户永远不会看到"移动"权限,只能看到"管理"权限组.

这样,您可以在未来的代码中保留细粒度权限的全部功能 - 例如,您可以轻松地适应"实习生必须能够编辑页面但无法更改其标题的规则",也不删除它们",向CMS添加有价值的资产.对于最终用户,此功能仍然不可见,并且权限系统易于使用.


Xeo*_*oss 18

我刚才问了这个问题并得到了以下回复.

admin           //Manage everything
manager         //Manage most aspects of the site
editor          //Scheduling and managing content
author          //Write important content
contributors    //Authors with limited rights
moderator       //Moderate user content
member          //Special user access
subscriber      //Paying Average Joe
user            //Average Joe
Run Code Online (Sandbox Code Playgroud)


Joh*_*ker 8

您是否研究过RBAC等现有解决方案?虽然这样的系统很可能对特定的坚果来说是完全矫枉过正的,但是你试图破解它至少有助于增强你对正确轨道的信心.

除此之外,我期望的一般角色将是:

管理员 - 对系统的完全控制,可以查看日志(因为您应该记录所有更改)等等......

发布者 - 可以直播内容加...

作者 - 可以创建内容

但是,如何在整个系统中应用这些角色是一件非常棘手的事情,因为特定用户可能会对不同的内容区域/模块拥有不同的权限.

  • Jon Skeet?;). (5认同)

Nic*_*las 5

对于大多数应用程序,我认为对于CMS也是如此,我的客户通常更喜欢以权利为导向的方法.这是怎么回事:

  1. 您列出了主要操作.在您的CMS中,它将是:创建和编辑内容; 删除内容; 对内容进行分类/分类; 验证内容; 发布内容; 管理用户; 等等.
  2. 您可以定义每个用户允许或拒绝的操作

为了使事情变得更好,您可以创建多个角色(编辑器;管理员)以简化典型用户创建(通过在选择角色时预填表单).