shiro****
Shiro是什么
Shiro是一个Java平台的开源权限框架,用于认证和访问授权。具体来说,满足对如下元素的支持:
用户,角色,权限(仅仅是操作权限,数据权限必须与业务需求紧密结合),资源(url)。
用户分配角色,角色定义权限。
访问授权时支持角色或者权限,并且支持多级的权限定义。
Q:对组的支持?
A:shiro默认不支持对组设置权限。
Q:是否可以满足对组进行角色分配的需求?
A:扩展Realm,可以支持对组进行分配角色,其实就是给该组下的所有用户分配权限。
Q:对数据权限的支持? 在业务系统中定义?
A:shiro仅仅实现对操作权限的控制,用于在前端控制元素隐藏或者显示,以及对资源访问权限进行检查。数据权限与具体的业务需求紧密关联,shiro本身无法实现对数据权限的控制。
Q:动态权限分配?
A:扩展org.apache.shiro.realm.Realm,支持动态权限分配。
Q:与Spring集成?
A:可以支持与Spring集成,shiro还支持jsp标签。
推荐视频链接
- Java 微服务实践**** - Spring Boot
- Java 微服务实践 ****- Spring Cloud
- redis高可用视频
- 分布式电商商城****
- kubernets+docer
- jvm
- 秒杀项目实战
- Linux shell
系统架构
在shiro架构中,有3个最主要的组件:Subject,SecurityManager,Realm。
Subject本质上就是当前访问用户的抽象描述。
SecurityManager是Shiro架构中最核心的组件,通过它可以协调其他组件完成用户认证和授权。实际上,SecurityManager就是Shiro框架的控制器。
Realm定义了访问数据的方式,用来连接不同的数据源,如:LDAP,关系数据库,配置文件等等。
关注微信公众号,回复“shiro” 获取下载链接