一、权限管理的访问控制
权限管理,一般指控制用户的访问权限,使得用户可以访问而且只能访问自己被授权的资源,不能多也不能少。现在的软件系统里基本上都用到了权限管理,只是控制的粒度、层面和侧重点会有所不同,比较完善的权限管理包括四个方面的访问控制:
1.功能(最基础):以用户完成某一功能为准。如“添加用户”、“删除用户”
2.数据:比功能访问权限的控制粒度更小,如“管理员可看到比一般用户更多的信息”
3.时间:给访问权限添加时间控制,让访问的资源在某一时间段中可用。如”12306只能在7:00-23:00时间段内购票“
4.空间:给访问权限添加空间控制,根据访问用户的空间位置不同,而对用户的访问资源进行限制。如”很多人都在问,为什么在中国上不了facebook……“
二、设计理念
权限管理的设计理念有很多,像ABAC(基于属性的访问控制)、ACL(基于资源的访问控制)、RBAC(基于资源的访问控制)、GBAC(基于组的访问控制)等等,它们各有利弊,现在最常用的是RBAC,理论较完善。
1.基于资源的权限控制——ACL
ACL(Access Control List)访问控制列表,是最早也是最基本的一种访问控制机制,它的权限控制是围绕”资源“展开的,即每一项资源,都配有一个列表&#x