在使用shiro之前,我们先要了解一下shiro是什么东西,可以实现什么功能。
什么是shiro
spring security
- 较为复杂,笨重
- 不可以脱离spring单独存在
- 粒度更细(但是在实际编程中没有很好的体现出来)
所以使用shiro来实现安全认证更好一些
shiro整体架构
下面通过一张图来了解shiro整体架构
其中,红色框框部分可以理解为用户。
而用户下面通过security manager来管理用户和权限
security manager各个部分的介绍:
- Authenticator(认证器):负责管理用户登入登出
- Authorizer(授权器):负责赋予用户权限
- Session Manager:可以在不借助其他web容器时使用session
- Session DAO:提供session操作(增删改查)
- Cache Manager:进行缓存管理(缓存角色数据和权限数据)
- Pluggable Realms:shiro和数据源之间的桥梁(通过Realms获取数据库信息)
- Cryptography:负责数据加密工作