Apache Shiro 简介ITeye - 众发娱乐

Apache Shiro 简介ITeye

2019-01-11 19:22:42 | 作者: 涵蕾 | 标签: 能够,运用,用户 | 浏览: 2808

一、简介

Apache Shiro(日语“堡垒(Castle)”的意思)是一个强壮易用的Java安全结构,供给了认证、授权、加密和会话办理功用,可为任何运用供给安全保证 - 从命令行运用、移动运用到大型网络及企业运用。
Shiro为处理下列问题(我喜爱称它们为运用安全的四要素)供给了维护运用的API:
认证 - 用户身份辨认,常被称为用户“登录”;
授权 - 拜访操控;
暗码加密 - 维护或躲藏数据避免被窃视;
会话办理 - 每用户相关的时刻灵敏的状况。
Shiro还支撑一些辅佐特性,如Web运用安全、单元测试和多线程,它们的存在强化了上面说到的四个要素。

 

二、官方介绍



 

二、系统架构图



 

 

Subject:主体,能够看到主体能够是任何能够与运用交互的“用户”;

SecurityManager:相当于SpringMVC中的DispatcherServlet或许Struts2中的FilterDispatcher;是Shiro的心脏;一切详细的交互都经过SecurityManager进行操控;它办理着一切Subject、且担任进行认证和授权、及会话、缓存的办理。

Authenticator:认证器,担任主体认证的,这是一个扩展点,假如用户觉得Shiro默许的欠好,能够自定义完成;其需求认证战略(Authentication Strategy),即什么情况下算用户认证经过了;

Authrizer:授权器,或许拜访操控器,用来决议主体是否有权限进行相应的操作;即操控着用户能拜访运用中的哪些功用;

Realm:能够有1个或多个Realm,能够认为是安全实体数据源,即用于获取安全实体的;能够是JDBC完成,也能够是LDAP完成,或许内存完成等等;由用户供给;留意:Shiro不知道你的用户/权限存储在哪及以何种格局存储;所以咱们一般在运用中都需求完成自己的Realm;

SessionManager:假如写过Servlet就应该知道Session的概念,Session呢需求有人去办理它的生命周期,这个组件便是SessionManager;而Shiro并不只是能够用在Web环境,也能够用在如一般的JavaSE环境、EJB等环境;一切呢,Shiro就笼统了一个自己的Session来办理主体与运用之间交互的数据;这样的话,比方咱们在Web环境用,刚开始是一台Web服务器;接着又上了台EJB服务器;这时想把两台服务器的会话数据放到一个当地,这个时分就能够完成自己的分布式会话(如把数据放到Memcached服务器);

SessionDAO:DAO咱们都用过,数据拜访目标,用于会话的CRUD,比方咱们想把Session保存到数据库,那么能够完成自己的SessionDAO,经过如JDBC写到数据库;比方想把Session放到Memcached中,能够完成自己的Memcached SessionDAO;别的SessionDAO中能够运用Cache进行缓存,以进步功能;

CacheManager:缓存操控器,来办理如用户、人物、权限等的缓存的;由于这些数据基本上很少去改动,放到缓存中后能够进步拜访的功能

Cryptography:暗码模块,Shiro进步了一些常见的加密组件用于如暗码加密/解密的。

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章