在权限系统的上篇中详细介绍了入站权限检查,在下篇中将介绍业务逻辑权限检查,也就是在管理后台中看到的账户、权限、角色以及涉及管理业务逻辑的权限检查等内容,让我们从这里开始:
账户、角色、权限:
Drupal的权限系统采用了基于角色的访问控制RBAC(Role-Based Access Control),许多现代系统均采用RBAC,它相较于传统的访问控制,就犹如oop相较于过程式编程带来的提升一样,为大型系统的设计简化了很多的事情,读者可以搜索一下RBAC了解更多内容,其实对权限系统的研究是一个可以很深入的话题,drupal实现了基础的账户、角色、权限概念,提供了一个通用基础,这通常已经够用了,面对复杂情况我们可以在此基础上搭建出复杂的权限系统,比如涉及权限继承、动态权限等问题,这里介绍基本概念:
权限:面对某操作能与不能的属性,在代码层面一个权限用一个id来代表,该id是一个全局唯一的字符串。
角色:是一种身份表示,在代码层面是一些权限的合集
账户:一个具体的使用者,账户和角色是多对多的关系,也就是说一个账户可以被分配很多角色(拥有很多身份),一个角色也可以有许多账户(某种身份可以有许多个人),就犹如一个公司的组织架构:一个人可以同时是客服和网站编辑,客服岗位可以有许多个人,这里人就是账户,职位就是角色。
特殊角色与账户:
在drupal中有两类特殊角色:
未登录的用户(匿名游客)属于匿名角色
云客Drupal源码分析之权限系统(下)
最新推荐文章于 2021-01-19 11:32:57 发布