对于Role-Permission两级权限体系,大多数情况下,我们都是直接使用Shiro提供的WildcardPermission来实现细粒度的权限控制。
Shiro为我们定义了一个抽象的权限描述字串:
【资源】:【操作】:【实例】
例如:”user:create,update”,”user:delete:100110”,等等。
Shiro的通配符权限,可以这样使用【以下描述中『授权』指分配给当前用户的权限,而『校验』指在注解或JSP标签中写的权限】:
- 授权(user),校验(user),结果(通过)
- 授权(user),校验(user:create),结果(通过)
- 授权(user:create),校验(user:update),结果(不通过)
- 授权(user:create),校验(user:create,update),结果(不通过)
- 授权(user:create,update),校验(user:update),结果(通过)
- 授权(user:create),校验(user:*),结果(不通过)
- 授权(user:*),校验(use