权限设计学习

权限的控制要么是ACL要么是RBAC。

  1. ACL (Access Control List)
    ACL是一种面向资源的访问控制模型。原理非常简单:每一项资源,都配有一个列表,这个列表记录的就是哪些用户可以对这项资源执行CRUD中的那些操作。当系统试图访问这项资源时,会首先检查这个列表中是否有关于当前用户的访问权限,从而确定当前用户可否执行相应的操作。

  2. RBAC(Role-based Access Control)
    是把用户按角色进行归类,通过用户的角色来确定用户能否针对某项资源进行某项操作。

  • 按角色分配权限,满足常规需求
  • 按资源自定义新角色,满足特殊需求
  • 用户可以有多个角色

hasRole()