1.Shiro概念和作用:
利用shiro可以快速完成权限管理模块的开发
Spring的官网也是用Shiro做安全管理的。。。
Shiro整体架构:
可能你感觉上面的图片很乱,但是你一定要先大体有个印象,因为今后我们都会围绕这幅图片学习shiro
下面是对上面各部分组件的介绍:
shiro通过Secunrity Manager提供安全服务
Secunrity Manager管理着其他组件的实例
1、Authenticator(认证器):管理登录、登出。
2、Authorizer (授权器):赋予主体权限。
3、Session Manager(Session管理器):Shiro'自己实现的管理机制,不借用任何容器使用Session。
4、Session Dao(提供Session的操作): 主要有:增、删、改、查。
5、Cache Manager(缓存管理器):角色和权限数据缓存。
6、Pauggable Realms(数据库和数据源的桥梁):shiro获取数据是通过realms来获取。
7.Cryptography:数据加密
Shiro整体认证流程举例:
流程:当主体访问权限管理器,如果做认证操作,则将数据传入到相应的认证管理器,认证管理器通过Realms访问数据源,返回数据信息进行比对,将结果返回,同理其他的模块也是一样。