Apache Shiro简单介绍

1. 概念

Apache Shiro 是一个开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro 框架具有直观、易用等特性,同时也能提供健壮的安全性,虽然它的功能不如 SpringSecurity 那么强大,但是在普通的项目中也够用了。

2. 由来

Shiro 的前身是 JSecurity,2004年,Les Hazlewood 和 Jeremy Haile 创办了 Jsecurity。当时他们找不到适用于应用程序级别的合适 Java 安全框架,同时又对 JAAS 非常失望。

2004 年到 2008 年期间,JSecurity 托管在 SourceForge 上,贡献者包括 Peter Ledbrook、Alan Ditzel 和 Tim Veil。

2008年,JSecurity 项目贡献给了Apache软件基金会(ASF),并被接纳成为Apache Incubator 项目,由导师管理,目标是成为一个顶级 Apache 项目。期间,Jsecurity 曾短暂更名为 Ki,随后因商标问题被社区更名为 “Shiro” 。随后项目持续在 Apache Incubator 中孵化,并增加了贡献者 Kalle Korhonen。

2010年7月,Shiro 社区发布了 1.0 版,随后社区创建了其项目管理委员会,并选举 Les Hazlewood 为主席。2010年9月22日,Shrio 成为 Apache 软件基金会的顶级项目(TLP)

3. 功能

Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架应该尽可能掩盖复杂的地方,露出一个干净而直观的 API,来简化开发人员在应用程序安全上所花费的时间。

以下是你可以用 Apache Shiro 所做的事情:

  1. 验证用户来核实他们的身份

  2. 对用户执行访问控制,如:判断用户是否被分配了一个确定的安全角色;判断用户是否被允许做某事
  3. 在任何环境下使用 Session API,即使没有 Web 容器
  4. 在身份验证,访问控制期间或在会话的生命周期,对事件作出反应
  5. 聚集一个或多个用户安全数据的数据源,并作为一个单一的复合用户“视图”
  6. 单点登录(SSO)功能
  7. 为没有关联到登录的用户启用"Remember Me"服务

。。。。等等

Apache Shiro 是一个拥有许多功能的综合性的程序安全框架。下面的图表展示了 Shiro 的重点:

Shiro 中有四大基石——身份验证,授权,会话管理和加密。

  1. Authentication:有时也简称为“登录”,这是一个证明用户是谁的行为。

  2. Authorization:访问控制的过程,也就是决定“谁”去访问“什么”。
  3. Session Management:管理用户特定的会话,即使在非Web 或EJB 应用程序。
  4. Cryptography:通过使用加密算法保持数据安全同时易于使用。

除此之外,Shiro 也提供了额外的功能来解决在不同环境下所面临的安全问题,尤其是以下这些:

  1. Web Support:Shiro 的 web 支持的 API 能够轻松地帮助保护 Web 应用程序。

  2. Caching:缓存是 Apache Shiro 中的第一层公民,来确保安全操作快速而又高效。
  3. Concurrency:Apache Shiro 利用它的并发特性来支持多线程应用程序。
  4. Testing:测试支持的存在来帮助你编写单元测试和集成测试。
  5. "Run As":一个允许用户假设为另一个用户身份(如果允许)的功能,有时候在管理脚本很有用。
  6. "Remember Me":在会话中记住用户的身份,这样用户只需要在强制登录时候登录。

4. 总结

Shrio的功能还是比较强大的, 虽然比不了springsecurity,但是基本功能都涵盖了, 而且官网给出的实例也通俗易懂, 非常适合开发者去学习一下,

官网给了一个实例让我们去学习一下, 地址如下:

http://shiro.apache.org/tutorial.html

原文地址:https://www.cnblogs.com/xumBlog/p/11561587.html

时间: 2024-10-10 16:35:00

Apache Shiro简单介绍的相关文章

Apache Shiro简单示例

1.新建一个Maven的war工程,并在pom.xml中增加如下依赖. <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-web</artifactId>  <version>4.0.9.RELEASE</version> </dependency> <dependency>  <groupId&g

权限控制框架Shiro简单介绍及配置实例

Shiro是什么 Apache Shiro是一个非常易用的Java安全框架它能提供验证.授权.加密和Session控制.Shiro非常轻量级而且API也非常易于理解可以使用Shiro完成从APP到企业级应用的所有权限控制. 宏观视图 从宏观来看Shiro架构中有3个重要概念Subjct.SecurityManager和Realms. Subject Subject实际上是正在执行的用户的抽象"用户"这里可以指自然人第三方服务代理账户或者其他. Subject被绑定在SecurityMa

web服务的简单介绍及apache服务的安装

一,web服务的作用:  是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档.可以放置网站文件,让全世界浏览:   可以放置数据让全世界下载.目前最主流的三个Web服务器是Apache.Nginx.IIS 二,当前互联网主流Web服务软件: Apache:中小型web服务的主流,web服务使用目前排名第一 Nginx:大型网站web服务的主流,目前使用使用增势迅猛,社区活跃,发布更新版本比较快. Nginx的分支Tengine(淘宝网正在使用),目前也在飞速发展. Lig

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

一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户"登录": 授权 - 访问控制: 密码加密 - 保护或隐藏数据防止被偷窥: 会话管理 - 每用户相关的时间敏感的状态. 对于任何一个应用程序,Shiro都可以提供全面的安全管理服务.并且相对于其他安全框架,Shiro要简单的多. 二.Shiro的架构介绍 首先,来了解一下Shiro的三个核心组件:Subject. Security

Apache Shiro权限框架理论介绍

Apache Shiro权限管理框架介绍 Apache Shiro的官网地址如下: http://shiro.apache.org/ Apache Shiro是一个简单易用且强大而灵活的开源Java安全框架,以下简称Shiro.它干净利落地处理身份认证.授权以及企业会话管理和加密.Shiro拥有易于理解的API,你可以快速且容易地使用它来保护任何应用程序--从最小的移动应用程序到最大的web和企业应用程序. Shiro权限基础概念: 安全实体:就是被权限系统保护的对象,比如工资数据. 权限:就是

【转】Apache shiro集群实现 (一) shiro入门介绍

近期在ITOO项目中研究使用Apache shiro集群中要解决的两个问题,一个是Session的共享问题,一个是授权信息的cache共享问题,官网上给的例子是Ehcache的实现,在配置说明上不算很详细,我在我们的项目中使用的是nosql(Redis)替代了ehcache做了session和cache的存储,接下来从shiro.Cas.redis.session等等基础知识.基本原理集成的角度来不断的深入分析,系列文章篇幅很长,很丰富,尽请期待! Apache shiro集群实现 (一) sh

Apache shiro集群实现 (一) shiro入门介绍

近期在ITOO项目中研究使用Apache shiro集群中要解决的两个问题,一个是Session的共享问题,一个是授权信息的cache共享问题,官网上给的例子是Ehcache的实现,在配置说明上不算很详细,我在我们的项目中使用的是nosql(Redis)替代了ehcache做了session和cache的存储,接下来从shiro.Cas.redis.session等等基础知识.基本原理集成的角度来不断的深入分析,系列文章篇幅很长,很丰富,尽请期待! 今天我们先来介绍shiro的基本概念 一.sh

Apache Shiro学习笔记(七)Shiro Listener介绍

鲁春利的工作笔记,好记性不如烂笔头 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xmlns="http://java.sun.com/xml/ns/javaee"      xsi:schemaLocation="h

在 Web 项目中应用 Apache Shiro

Apache Shiro 是功能强大并且容易集成的开源权限框架,它能够完成认证.授权.加密.会话管理等功能.认证和授权为权限控制的核心,简单来说,"认证"就是证明你是谁? Web 应用程序一般做法通过表单提交用户名及密码达到认证目的."授权"即是否允许已认证用户访问受保护资源.关于 Shiro 的一系列特征及优点,很多文章已有列举,这里不再逐一赘述,本文重点介绍 Shiro 在 Web Application 中如何实现验证码认证以及如何实现单点登录. 用户权限模型