Apache Shiro架构

来源:互联网 发布:cda数据分析培训 编辑:程序博客网 时间:2024/05/22 05:27

1. 高层次概念

下图是高层次的组件图:

Subject:当前执行用户的安全view.Subject实例全都被绑定到SecurityManager.

SecurityManager:用于管理所有的Subject

Realms:是Shiro和你的应用安全数据之间的一个。通常就是Dao,用于访问数据。在配置Shiro的时候,最少要指定一个RealmShiro提供了许多默认的Realms实现

 

2. 详细架构

Subject(org.apache.shiro.subject.Subject):当前交互的特定安全实体。

 

SecurityManager(org.apache.shiro.mgt.SecurityManager)Shiro的核心,管理Subject

 

Authenticator(org.apache.shiro.authc.Authenticator):负责执行认证。他知道怎么处理协调多个Realms

 

Authentication Strategy(org.apache.shiro.authc.pam.AuthenticationStrategy):认证策略

 

Authorizer(org.apache.shiro.authz.Authorizer):决定访问控制的组件,判断用户是否可以做某事。和Authenticator一样,也能够协调处理后端的多数据源。

 

SessionManager(org.apache.shiro.session.mgt.SessionManager):提供回话管理功能。Shiro默认使用存在的会话机制,如果没有(如非web环境)存在的会话机制,就使用shiro提供的会话机制。

 

SessionDAO (org.apache.shiro.session.mgt.eis.SessionDAO)SessionDao代表SessionManager来执行Session持久化操作,这使得任何的数据存储可以被插入到会话管理基础设施。

 

CacheManager (org.apache.shiro.cache.CacheManager):CacheManager创建和管理Cache,这些CacheShiro其他组件使用。

 

Cryptography (org.apache.shiro.crypto.*):简单,易于使用的加密包。

 

Realms (org.apache.shiro.realm.Realm):是Shiro和你的应用安全数据之间的一个

 

原创粉丝点击