Apache shiro学习笔记+ spring整合shiro (一)

Apache Shiro是一个简单易用的Java安全框架,处理认证、授权、会话管理和加密。它提供了Subject、SecurityManager和 Realm概念,用于用户认证、访问控制和企业会话管理。Spring整合Shiro使得在Web应用中实现安全控制更为方便。通过Shiro的IniRealm,可以配置用户和权限信息,实现基于用户名和密码的身份验证,甚至可以连接到LDAP服务器进行身份验证。Shiro的过滤器可用于Grails等Web应用程序,提供HTTP级别的安全防护。
摘要由CSDN通过智能技术生成


Apache Shiro官网:http://shiro.apache.org/

概念:

shiro是一个强大灵活的开源安全框架,可以干净利落的处理认证、授权、企业会话管理和加密。

shiro的首要目标是简单和易于理解。安全有时候是非常复杂令人头疼的问题,shiro隐藏了复杂

的细节,暴露了简介直观的API来简化开发者使他们的应用程序更安全的努力。

 

功能:进行用户认证、执行访问控制、单点登录、Remember Me服务

 

安全的一些概念:身份认证、授权、会话管理、加密被认为是构成应用安全的基础要素。

身份认证,就是验证用户身份,典型的“登录”过程就是身份认证的过程。

授权:也就是访问控制(ac),也即某用户可以可以使用应用的哪些功能?

会议管理:管理用户特定的会话,即使在非Web或EJB应用。

加密:保持数据的安全使用的加密算法,同时仍然易于使用。

对于Session,在WEB应用中它基于HttpSession,而一般应用中默认使用企业会话管理。shiro的Session

用起来和HttpSession差不多,并且使用它不需要Http环境。

 

在最高的层次上讲,shiro主要有三个主要的概念,它们分别是Subject、SecurityManager和Realms。

 

1、shiro使用Subject这一概念来描述当前用户,‘User’这个词通常隐含的指一个人,但是Subject可以是一个

人也可以代表第三方服务,守护账户,定时作业,或者其他类似的与软件交互的事物。

 

2、所有Subject实例都与一个SecurityManager绑定,当你和一个Subject交互时,所有交互都会通过SecurityManager

转换为特定Subject的交互。

SecurityManager是shiro架构的核心,它扮演‘保护伞’对象的角色,与其他内部安全组件一起构成对象图的核心。 

SecurityManager及其内贸部对象图一旦被应用配置,它基本上就被放在一边不再被程序员使用了,

开发人员基本上总是在与Subject的相关API打交道。它在幕后支持Subject的安全操作。

 

3、Realms在shiro与你的应用程序的安全数据之间充当着桥梁或者说是连接器的作用。

从这种意义上讲,Reaml就是一个特定的安全DAO,它为shiro提供所需的数据。

在配置shiro时,你必须为认证、授权指定至少一个可用的Realm。

 

shiro提供了现成的Realm连接到LDAP、关系数据库(JDBC)、ini和properties文件等。

用户可以使用自己的Realm



Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权。使用 Shiro,您就能够为您的应用程序提供安全性而又无需从头编写所有代码。


Shiro 的 
Session 对象允许无需 HttpSession 即可使用一个用户会话。通过使用一个通用的 Session 对象,即便该代码没有在一个 Web 应用程序中运行,仍可以使用相同的代码。没有对应用服务器或 Web 应用服务器会话管理的依赖,您甚至可以在命令行环境中使用 Shiro。换言之,使用 Shiro 的 API 编写的代码让您可以构建连接到 LDAP 服务器的命令行应用程序并且与 web 应用程序内用来访问 LDAP 服务器的代码相同。由于 Shiro 提供具有诸多不同数据源的身份验证,以及 Enterprise Session Management,所以是实现单点登录(SSO)的理想之选 — 大型企业内的一个理想特性,因为在大型企业内,用户需要在一天内经常登录到并使用不同系统。这些数据源包括 JDBC、LDAP、 Kerberos 和 Microsoft® Active Directory® Directory Services (AD DS)。

Shiro 是预构建的二进制发行版。您可以下载 Shiro JAR 文件或将各项放入到 Apache Maven 或 Apache Ivy 来自动安装这些文件。本例使用 Ivy 下载 Shiro JAR 文件以及其他所需要的库,脚本很简单,如清单 1 所示。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值