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)
对于大多数应用程序,我认为对于CMS也是如此,我的客户通常更喜欢以权利为导向的方法.这是怎么回事:
为了使事情变得更好,您可以创建多个角色(编辑器;管理员)以简化典型用户创建(通过在选择角色时预填表单).