1、权限控制(访问控制):某个主体对某个客体需要实施某种操作,系统对这种操作的限制即权限控制;
如网络中的ACL、OS中的文件访问控制、web应用的访问控制等
常见的web应用访问控制:
1)基于URL
2)基于方法(method)
3)基于数据
2、垂直权限管理
访问控制的实质:建立用户与权限之间的对应关系;
基于角色的访问控制Role-Based Access Control(RBAC):角色是一些列权限的集合,系统用户会被分配不同的角色,一个用户可以拥有多个角色,验证用户权限只需要验证其角色即可。
3、水平权限管理
基于数据的访问控制,一个简单的数据级访问控制,可以考虑使用“用户组”的概念,比如一个用户组的数据只属于该组内的成员,只有同一用户组的成员才能实现对这些数据的操作。
个人总结:垂直权限管理解决用户访问哪些页面问题,水平权限管理解决用户访问同一页面下的不同数据的问题。
4、OAuth
OAuth源于OpenID,OpenID解决认证问题,OAuth注重授权。
OAuth涉及三个角色:
consumer 消费方(client)
service provider 服务提供方(server)
user 用户(resource owner)