`
gaojingsong
  • 浏览: 1182682 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Apache Shiro 简介

阅读更多

一、简介

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服务器);

SessionDAODAO大家都用过,数据访问对象,用于会话的CRUD,比如我们想把Session保存到数据库,那么可以实现自己的SessionDAO,通过如JDBC写到数据库;比如想把Session放到Memcached中,可以实现自己的Memcached SessionDAO;另外SessionDAO中可以使用Cache进行缓存,以提高性能;

CacheManager缓存控制器,来管理如用户、角色、权限等的缓存的;因为这些数据基本上很少去改变,放到缓存中后可以提高访问的性能

Cryptography密码模块,Shiro提高了一些常见的加密组件用于如密码加密/解密的。

 

  • 描述: 官网介绍
  • 大小: 55.1 KB
  • 描述: 体系结构图
  • 大小: 135.6 KB
0
6
分享到:
评论

相关推荐

    Apache Shiro教程

    Apache Shiro是一个强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密等功能。这个教程将帮助你深入理解和有效地使用Shiro框架。在本文中,我们将详细探讨Shiro的核心概念、主要功能和常见用法...

    Apache Shiro API(Apache Shiro开发文档).CHM

    Apache Shiro。 官网 Apache Shiro API。 Apache Shiro开发文档。

    Apache shiro 1.13.0源码

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。Shiro 1.13.0 是其一个重要的版本,包含了多项更新和改进。在这个版本中,开发者可以深入理解其...

    让Apache_Shiro保护你的应用.pdf

    #### Apache Shiro简介 Apache Shiro是一个开源的安全(权限)框架,它的名字来源于日语,意为“城堡”,象征着坚固的防御。Shiro的设计理念是简单而强大,旨在为Java应用程序提供一个易于理解和使用的安全框架,...

    Apache_Shiro_使用手册(一)Shiro架构介绍

    #### 一、Shiro简介 Apache Shiro 是一款功能强大且易于使用的 Java 安全框架,它提供了多种安全相关的功能和服务,包括但不限于认证、授权、加密和会话管理。相较于其他安全框架,Shiro 在设计上更为简洁明了,...

    Apache Shiro中文开发文档.pdf

    #### 三、Apache Shiro 教程简介 - **入门指南**:本教程将引导你创建一个简单的由Apache Shiro保护的应用程序,通过实际操作加深对Shiro的理解。 - **环境准备**:需要Java 1.5及以上版本,推荐使用Apache Maven...

    apache shiro 管理用户权限与数据库交互

    Apache Shiro是一个强大且易用的Java安全框架,它提供了身份验证、授权、加密和会话管理等功能。本文将深入探讨如何使用Apache Shiro管理用户权限,并与数据库进行交互,以便实现动态、灵活的安全策略。 ### 一、...

    Apache shiro1.2.4反序列化漏洞介绍.docx

    Apache Shiro是一个全面的Java安全框架,用于处理应用程序的安全需求,包括身份验证、授权、密码管理和会话管理。它的核心功能之一是“RememberMe”服务,该服务允许用户在关闭浏览器后仍然保持登录状态,无需在下次...

    ApacheShiro复现记录1

    1. Apache Shiro简介 Apache Shiro是一个开源的身份验证和授权框架,主要用于Java应用程序。它提供了灵活的安全管理机制,帮助开发者快速构建安全的应用程序。 2. 反序列化攻击 反序列化攻击是一种常见的攻击方式...

    让Apache Shiro保护你的应用

    ### Apache Shiro:全方位守护应用安全 #### 一、Apache Shiro概述 **Apache Shiro**(发音为“shee-roh”,意为日语中的“堡垒”)是一款功能强大且易于使用的Java安全框架,旨在为各类应用提供全面的安全保障。...

    Apache Shiro中文版使用手册

    ### Apache Shiro 使用手册知识点详解 #### 一、Apache Shiro 概述 **1.1 什么是 Apache Shiro** Apache Shiro 是一款强大的 Java 安全框架,它集成了认证、授权、加密和会话管理等功能。这些功能使得 Shiro 成为...

    SpringBoot + Apache Shiro + Mybatis Plus + Thymeleaf 实现的内容管理系统

    采用SpringBoot + Apache Shiro + Mybatis Plus + Thymeleaf 实现的内容管理系统(附带权限管理),是搭建博客、网站的不二之选。 技术栈:Spring Boot、Apache Shiro、MyBatis-Plus、Alibaba Druid、Redis、MySQL、...

    Apache Shiro核心jar包:shiro-core-1.3.2

    Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    apache shiro maven包

    Shiro 是一个 Apache Incubator 项目,旨在简化身份验证和授权。在本文中,了解 Apache Shiro 并通过示例来在一个 Groovy web 应用程序中尝试使用 Shiro 进行身份验证和授权

    spring mvc、apache shiro、mysql 框架搭建,基于maven构建

    本项目结合了Spring MVC、Apache Shiro和MySQL这三个强大的技术,通过Maven进行项目管理,旨在提供一个完整的后端开发解决方案。下面将详细介绍这三个框架以及Maven在其中的作用。 **Spring MVC** Spring MVC是...

    Apache Shiro 集成-spring

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。Shiro 不仅可以用于Java Web 应用,也可以用于独立的Java应用。在集成Spring时,Shiro ...

    安全认证框架-Apache_Shiro研究心得

    #### Apache Shiro简介 Apache Shiro 是一个强大且易用的 Java 安全框架,提供了认证、授权、加密和会话管理功能,可以非常容易地开发出足够安全的应用——无论它们是部署在单一用户开发环境还是多服务器集群环境中...

    apache shiro 实例

    Apache Shiro 是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。本实例将深入探讨 Apache Shiro 的核心概念和常见用法。 1. **认证**:Shiro 提供了用户身份...

    SpringBoot+MyBatis+Apache Shiro+Bootstrap+Thymeleaf可用于开发企业级应用系统

    本系统(基于SpringBoot+MyBatis+Apache Shiro+Bootstrap+Thymeleaf) 可用于开发所有企业级WEB应用系统(如:各种后台管理系统、CRM、ERP、CMS、OA、博客、论坛等...)。响应式布局,支持大部分浏览器(如:IE9+...

Global site tag (gtag.js) - Google Analytics