下图显示了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的策略是可以自定义的。
分享到:
相关推荐
### Apache Shiro 架构之实际运用(整合到Spring中) #### 一、Apache Shiro 简介 Apache Shiro 是一个强大且易用的 Java 安全框架,提供了认证(Authentication)、授权(Authorization)、加密(Cryptography)和会话...
### Apache Shiro 使用手册(一)Shiro架构介绍 #### 一、Shiro简介 Apache Shiro 是一款功能强大且易于使用的 Java 安全框架,它提供了多种安全相关的功能和服务,包括但不限于认证、授权、加密和会话管理。相较...
Apache Shiro是一个强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密等功能。这个教程将帮助你深入理解和有效地使用Shiro框架。在本文中,我们将详细探讨Shiro的核心概念、主要功能和常见用法...
### Apache Shiro 使用手册知识点详解 #### 一、Apache Shiro 概述 **1.1 什么是 Apache Shiro** Apache Shiro 是一款强大的 Java 安全框架,它集成了认证、授权、加密和会话管理等功能。这些功能使得 Shiro 成为...
### Apache Shiro:全方位守护应用安全 #### 一、Apache Shiro概述 **Apache Shiro**(发音为“shee-roh”,意为日语中的“堡垒”)是一款功能强大且易于使用的Java安全框架,旨在为各类应用提供全面的安全保障。...
Apache Shiro 是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。本实例将深入探讨 Apache Shiro 的核心概念和常见用法。 1. **认证**:Shiro 提供了用户身份...
Shiro架构组件** Shiro的核心组件包括:Subject、Realms、Caches、Session Manager、Authentication、Authorization和Cryptography。Subject是用户与系统交互的接口,Realms是获取验证和授权信息的数据源,Caches...
这是一个基于Java技术栈的仓库管理系统源码,使用了Spring MVC作为MVC框架,Mybatis作为持久层框架,Ehcache作为缓存管理工具,Apache Shiro进行权限控制,以及Bootstrap作为前端UI框架。下面将详细解析这些技术在...
Apache Shiro 使用手册 Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能。Shiro 的架构主要包括三个核心组件:Subject、SecurityManager 和 Realm。 1. 认证...
Apache Shiro是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,可以简化开发人员处理安全的复杂性。Shiro适用于各种应用,从小型独立应用到大型分布式系统,都能有效地支持。 在"shiro-...
Shiro的架构设计是基于简单、直观的编程模型,易于理解和使用。 接着,Shiro的认证部分介绍了Shiro进行用户身份验证的机制。认证是确认用户身份的过程,Shiro支持多种认证方式,包括但不限于密码认证、证书认证等。...
apache shiro轻量级的安全认证授权框架让你快速搭建中下型企业安全认证模块
《配对Apache Shiro和Java EE7》这本书详细介绍了如何将Apache Shiro安全框架与Java EE7企业版进行整合。在学习和实践中,本书以NetBeans集成开发环境(IDE)为基础,提供了丰富的实例教程,这些示例基于边界-控制-...
总的来说,SpringMVC、Apache Shiro和JPA(Hibernate)的整合能够提供一个强大的Web应用安全架构,既满足了业务逻辑处理的需求,又确保了用户认证和授权的安全性。开发者可以基于这些组件构建出高效、安全的企业级...
Apache Shiro 是一个轻量级的 Java 安全框架,旨在简化应用程序的安全管理,包括认证、授权、加密和会话管理。它的设计理念是使开发者能够更专注于应用逻辑,而不是安全细节,同时提供了一套直观且易于使用的 API。 ...
通过阅读《Apache Shiro_安全框架开发文档.pdf》这份文档,你将深入了解Shiro的架构、核心组件(如Subject、Realms、Session Manager等)、以及如何实现自定义策略。文档还会包含示例代码和最佳实践,帮助你在实际...
Apache Shiro是一个强大的Java安全框架,致力于简化身份验证和授权的过程。相较于JAAS(Java Authentication and Authorization Service)和Spring Security,Shiro在提供相同的安全功能的同时,更注重易用性和灵活...
Apache Shiro 是一个强大且易用的 Java 安全框架,它提供了认证、授权、加密和会话管理功能,简化了开发人员处理安全问题的过程。本参考手册主要分为以下几个部分,详细介绍了 Apache Shiro 的各个方面。 1. **...
**Shiro 架构**: Shiro 的核心组件包括 `Subject`、`SecurityManager` 和 `Realm`: - **Subject**:代表当前操作的主体,可能是用户、第三方进程等。Subject 通过 `SecurityManager` 执行各种安全操作。 - **...