下图显示了Shiro核心系统架构:
l Subject
与软件系统需要交互的实体(用户、第三方服务、定时器任务等等),在系统中需要进行身份认证的对象。
l SecurityManager
SecurityManager是Shiro的心脏,可以协调其管理的组件以确保它们能在一起工作。可以为每一个用户提供所需的安全操作。
l Authenticator
Authenticator是核实用户身份的组件,当用户进行登录时会执行此组件。Authenticator会从一个或多个Realms里获取存储的用户/账号信息,来确保用户身份的真实性。
在进行身份认证时如果配置了多个Realms,可以通过设定认证策略(Authentication Strategy)来定义认证成功或是认证失败的规则。比如是否所有的Realms都认证通过了才算成功,还是第一个认证通过即算成功等等。
l Authorizer
Authorizer是实现访问控制的组件。可控制用户能够访问应用中的哪些内容,比如资源、Web页面等。Authorizer也可以从多个数据源里获取角色或是权限信息。
l SessionManager
创建和管理用户会话的生命周期。可以在所有环境下为用户提供一个强健的Session体验。在本安全框架下提供一个本地化的企业级会话管理,可不需要Web/Servlet或EJB容器。
SessionDAO可将会话保存到任何的数据源中,实现Session持久化操作。
l CacheManager
对Shiro的其他组件提供缓存支持。因为Shiro能够访问多个后台数据源进行身份认证、授权和会话管理,因此需要使用缓存来提高性能。目前任何开源的或商业的缓存产品都能够被放入Shiro框架中来提供一个快速及高效的用户体验。
l Cryptography
Shiro的crypto包提供了易于使用和理解的加密操作,哈希算法和不同的编码器/解码器的实现。Shiro的CryptoAPI简化了复杂的java机制,使加密这样复杂的安全操作对于普通人也易于使用。
l Realms
Realms是Shiro与安全数据之间的“桥梁”或“连接器”。你可以根据你的需求配置多个Realm(通常一个数据源就是一个Realm)。当进行身份认证或授权时可以配置好的Realms中获取相关数据,并且访问Realms的策略是可以自定义的。
分享到:
相关推荐
【Shiro】Apache Shiro架构之实际运用(整合到Spring中
Apache_Shiro_使用手册(一)Shiro架构介绍
apache shiro轻量级的安全认证授权框架让你快速搭建中下型企业安全认证模块
Apache Shiro是一个Apache项目,旨在简化身份验证和授权。与JAAS和Spring Security比较,Apache Shiro在保持强大功能的同时,还在简单性...本文介绍了Apache Shiro的基础知识和核心架构,同时给出了一个典型使用示例。
Apache Shiro 开发使用手册,介绍了shiro的架构,认证,授权,实现,配置等,希望能够为大家使用shiro的时候带来帮助。
基于“Apache Shiro反序列化”漏洞谈网络安全问题防范.pdf
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能
本文还解释了Apache Shiro的项目目标、架构理念以及如何使用Shiro为应用安全保驾护航。 什么是Apache Shiro?Apache Shiro(发音为“shee-roh”,日语“堡垒(Castle)”的意思)是一个强大易用的Java安全框架,提供...
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能: 认证 – 用户身份识别,常被称为用户“登录”; 授权 – 访问控制; 密码加密 – 保护或隐藏数据防止被偷窥; ...
本系统采用企业级开发标准,使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;...
本系统采用企业级开发标准,使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;...
介绍- 5 -1. Introduction 介绍2. Tutorial 教程3. Architecture 架构4. Configuration 配置I. O
本系统采用企业级开发标准,使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;...
身份认证,整合Apache Shiro和自定义拦截器两种方式13.发送邮件14.消息队列,集成RabbitMQ15.生成token 集成jwt1后台gradle构建,2springboot,3,系统架构,4.模板引擎---thymeleaf或者json返回,集成fastjson,5....
在尝试保护你的应用时,你是否有过挫败感?是否觉得现有的Java安全解决方案难以使用,只会让你更糊涂?本文介绍的Apache Shiro...本文还解释了Apache Shiro的项目目标、架构理念以及如何使用Shiro为应用安全保驾护航。
J2eeFAST是一个Java EE企业级快速开发平台,基于经典技术组合(Spring Boot,Spring MVC,Apache Shiro,MyBatis-Plus,Freemarker,Bootstrap,AdminLTE)采用经典开发模式,让初学者能够Swift进行入门并从事在线...
Shiro架构图与基本知识 1、Shiro是Apache下的一个开源项目,我们称之为Apache Shiro。它是一个很易用与Java项目的的安全框架,提供了认证、授权、加密、会话管理,与spring Security 一样都是做一个权限的安全框架,...
此项目正在由sureness替换apache shiro重构进行中,若您需使用apache shiro版本,请见 推荐一个全新面向restful api的高性能认证鉴权框架 - sureness 欢迎使用star :closed_mailbox_with_raised_flag: 背景 在主流的...
Apache Shiro 1.7 3、持久层 Apache MyBatis 3.5.x Hibernate Validation 6.0.x Alibaba Druid 1.2.x 4、视图层 Bootstrap 3.3.7 Thymeleaf 3.0.x #内置功能 用户管理:用户是系统操作者,该功能主要完成系统用户...