常见的 CMS 角色和访问级别
2022-08-30 22:35:50
我目前正在编写一个CMS,并记得有人(它可能在这里)批评现有的CMS没有足够强大的用户权限系统。我已经计划了一种方法,但我觉得它已经陷入了通常的陷阱,有点太细粒度了,这使得理解和实现它成为最终用户的恐怖。
我认为拥有一系列具有权限的默认用户角色将是这个问题的答案,所以我想我的问题是这样的:
您希望在 CMS 中看到哪些默认角色,以及哪些类型的权限与这些角色相关联?
提前致谢!
我目前正在编写一个CMS,并记得有人(它可能在这里)批评现有的CMS没有足够强大的用户权限系统。我已经计划了一种方法,但我觉得它已经陷入了通常的陷阱,有点太细粒度了,这使得理解和实现它成为最终用户的恐怖。
我认为拥有一系列具有权限的默认用户角色将是这个问题的答案,所以我想我的问题是这样的:
您希望在 CMS 中看到哪些默认角色,以及哪些类型的权限与这些角色相关联?
提前致谢!
这是我在大多数项目中最终得到的“最佳实践”,我对此非常满意:
1. 角色
当涉及到角色时,我建议有很大的灵活性,即能够自由创建和定义用户帐户和组(像“贡献者”,“经理”等角色不是硬编码的,而是放入一个配置文件中,可以按应用程序更改)。用户无法访问角色配置,但引擎本身应不包含硬编码的角色。
2. 权利
权利是事物需要易于理解和实施的地方。
我在代码/API级别上使用和检查非常细粒度的权限方面积累了非常好的经验:
但用户永远不会看到这些。对他们来说,他们被分组为极少数“正确的群体”:
用户永远不会看到“移动”权限,而只会看到“管理”权限组。
这样,您就可以在将来的代码中保留细粒度权限的全部功能 - 例如,您可以轻松适应诸如“实习生必须能够编辑页面,但不能更改其标题,也不能删除它们”之类的规则,从而为CMS添加有价值的资产。对于最终用户来说,此功能仍然是不可见的,并且权限系统易于使用。
我刚才问了这个问题,得到了以下回应。
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