常见的 CMS 角色和访问级别

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

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

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

提前致谢!


答案 1

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

1. 角色

当涉及到角色时,我建议有很大的灵活性,即能够自由创建和定义用户帐户和组(像“贡献者”,“经理”等角色不是硬编码的,而是放入一个配置文件中,可以按应用程序更改)。用户无法访问角色配置,但引擎本身应不包含硬编码的角色。

2. 权利

权利是事物需要易于理解和实施的地方。

我在代码/API级别上使用和检查非常细粒度的权限方面积累了非常好的经验:

  • 视图
  • 编辑
  • 更改名称
  • 重命名
  • 删除
  • 移动
  • 更改权限
  • 等。

用户永远不会看到这些。对他们来说,他们被分组为极少数“正确的群体”:

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

用户永远不会看到“移动”权限,而只会看到“管理”权限组。

这样,您就可以在将来的代码中保留细粒度权限的全部功能 - 例如,您可以轻松适应诸如“实习生必须能够编辑页面,但不能更改其标题,也不能删除它们”之类的规则,从而为CMS添加有价值的资产。对于最终用户来说,此功能仍然是不可见的,并且权限系统易于使用。


答案 2

我刚才问了这个问题,得到了以下回应。

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

推荐