一,shiro是什么?
一个安全框架
二,shiro能干嘛?
认证,授权,加密,回话管理,与web集成,缓存。
三,对应的API
Authentication:身份认证/登录
Authorization:授权,权限认证
Session Manager:会话管理,用户登录后就是一次会话,在没有退出去之前,它的所有信息都在会话中
Cryptograhpy:加密,密码加密后才保存到数据库
Web Support:很容易集成到Web环境
Cacheing:缓存,用户登录后,用户信息,拥有的角色,权限都缓存起来
Concurrency:shiro支持多线程应用的并发验证,在一个线程中开启另外一个线程,可以把权限自动传播
Run As:允许一个用户假装为另一个用户的身份进行访问
Remember Me:记住我,
注意:Shiro不会去维护用户,维护权限,这些需要我们自己去设计
四,Shiro架构
1,Subject:主体,与当前应用交互的都是Subject
所有的Subject都绑定到SecutiryManager,和Subject的所有交互都会委托给SecurityManager。Subject可以理解为一个门面。都交给SecurityManager来执行
2.SecurityManager:安全管理器,所有和安全有关的操作都会和SecurityManager交互,
它管理所有的Subject,
它负责和其他组件进行交互,可以理解为DispatcherServlet
3,Realm:域,Shiro从Realm获取安全数据(用户,角色,权限),
也就是说SecurityManager要验证用户身份,那么它需要从Realm中获取相应的用户进行比较确定用户身份是否合法,还需要从Realm中得到用户相应的角色/权限
4.Authenticator:认证器,负责主体认证,用户也可以自定义认证策略
5.Authrizer:授权器,决定主体是否有权限进行相应的操作
6.SessionManager:用来管理session的生命周期,
7.SessionDAO:用于会话的crud, 如果我们想把session保存到数据库,可以实现自己的SessionDao,通过JDBC写到数据库。
8.CacheManager:缓存控制器,管理用户,角色,权限等缓存。
9.Cryptography:密码加密
相关文章
- 04-10第一个Apache Shiro应用
- 04-10Shiro-Subject 分析(转)
- 04-10Shiro整合Thymeleaf
- 04-10Shiro安全框架04:使用散列密码进行认证
- 04-10第二讲shiro异常及执行流程
- 04-10Shiro
- 04-10shiro学习总结(一)----初识shiro
- 04-10第一章:Shiro简介
- 04-10shiro技术四大组件和运行原理是什么?
- 04-10Spring Boot从入门到放弃-整合Shiro报错