(一)shiro功能架构分析

shiro基本功能点如下图所示

Authentication身份认证/登录;

Authorization授权;

Session Manager会话管理;

Cryptography加密;

Web SupportWeb支持,可以非常容易的集成到Web环境;

Caching:缓存;

Concurrencyshiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;

Testing提供测试支持;

Run As允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;

Remember Me记住我。

 

Shiro不会去维护用户、维护权限;这些需要我们自己去设计/提供;然后通过相应的接口注入给Shiro

 

shiro架构

shiro工作流程图

 

 

 

内部架构图

 

Subject主体;

SecurityManager相当于SpringMVC中的DispatcherServlet或者Struts2中的FilterDispatcher;它管理着所有Subject、且负责进行认证和授权、及会话、缓存的管理。

Authenticator认证器;

Authrizer授权器,;

Realm可以有1个或多个Realm,是安全实体数据源;可以是JDBC实现,也可以是LDAP实现,或者内存实现等等;

SessionManagerShiro自己的Session来管理主体与应用之间交互的数据;

SessionDAODAO大家都用过,数据访问对象,用于会话的CRUD;同时SessionDao也可以使用Cache进行缓存以提高性能。

CacheManager缓存控制器,管理如用户、角色、权限等的缓存

Cryptography密码模块

 

总结自张开涛的《跟我学shiro》原博客地址:http://jinnianshilongnian.iteye.com/blog/2018936/

posted @ 2017-08-09 17:08  中和王  阅读(795)  评论(0编辑  收藏  举报