学习shiro之前先来了解一下RBAC模型,因为你shiro主要也是为这个模型服务的。
RBAC模型:
RBAC(Role-Based Access Control) 基于角色的访问控制。
基本思想:对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。
每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。
RBAC模型解析:
原始的权限管理思路:
用户---------------->资源
缺点:
每个用户都有一套权限资源,维护复杂。
如果需要将部分用户设置拥有相同权限操作复杂等缺陷。
RBAC基础模型:
用户<--------------->角色<--------------->资源
优点:
有了角色后多个用户具有相同的权限的情况只要对该角色指定权限,当权限要调整时只要设置角色权限。
方便用户权限管理。
常见的基于RBAC模型的验证框架:
Apache Shiro
Spring Security
Shiro与Spring Security比较: