权限系统
1. 什么是权限
说到权限管理,首先要了解,在网站中权限到底是什么?
在网站中,用户通过URL地址,进入网站的后端逻辑,从而对网站的数据库进行操作管理。如果想要让拥有操作管理权限的用户来完成,而没有权限的用户无法操作.
2. ACL权限模型
规定资源可以被哪些主体进行哪些操作
场景:管理系统
适用资源:用户管理页面、工单管理页面
在ACL权限模型下,权限管理是围绕资源来设定的。我们可以对不同资源页面设定可以访问的用户。配置形式如下
在用户量大的情况下,比如将不同的用户视为不同的资源,在动态情况下,权限经常变动,每添加一名员工,都需要配置所有他访问的资源,在频繁变动的大型系统里,是很难维护的。
3. RBAC基于角色的访问控制
- 规定角色可以对哪些资源进行哪些操作
- 规定主体拥有哪些角色
还是上面那个场景,比如,将多个用户分配到一个角色下,相当于分组,然后设置哪个角色组拥有哪些节点权限,这种方式,避免了ACL模型下,每次新人入职,需要配置资源表的情况。同样,权限变动也变的很方便,只要修改角色,即可实现用户的权限修改。
用户和组两个概念可能会让人混淆,区分一下:
- 角色赋予的是主体,主体可以是用户,也可以是组
- 组是用户的集合