RABC权限设计问题
当一个页面需要根据当前访问者权限不同,而显示不同内容时,这时候怎么设计权限呢?
例子:
文章列表:编辑可见自己添加的文章,管理员可见所有编辑的问题。
需要设计权限
PER_1. 文章列表(仅作者)
PER_2. 文章列表(所有文章)
分别为 编辑 和 管理员 角色授权,然后访问的时候进行判断 has_permission(PER_1)
,来区分操作么?
其实我觉得这种需求完全是两种不同的功能,应该分开页面实现的,希望对于权限管理比较熟悉的同学分享下经验。
真是捉急,人呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
RABC是基于角色的身份认证控制
那么对于权限的控制自然是要根据角色来进行控制了。
首先,定义两个角色:编辑和管理员。
用户属于(充当)某个或多个角色。
然后对权限进行分类,比如文章的显示、修改、删除等。接着将角色和权限进行绑定,即定义角色拥有的权限,具体实现的话使用表内或者独立表绑定都可以。接着,对文章进行权限设定。
最后,认证模块对访问用户和目标文章进行权限匹配,认证通过即可查看或者修改文章。
具体的权限设计可以参考Linux的文件权限管理。
可以参考一下PHPCMS的权限设计:
PHPCMS后台权限设计说明