`

shiro的相关概念

阅读更多

补一篇shiro相关的概念

 

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

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

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

 

shiro可以做一下事情:

 

进行用户认证

执行访问控制

单点登录

Remember Me服务

 

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

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

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

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

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

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

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

 

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

 

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

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

 

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

转换为特定Subject的交互。

 

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

 

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

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

 

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

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

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

 

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

用户可以使用自己的Realm

 

shiro的[urls]规则,例如

[urls]

/index.html = anon

/user/** = authc

/admin/** = authc, roles[administrator]

上面的3个URL分别表示根目录下的index.html可以匿名访问,user目录下的所有资源

都需要经过认证后才可访问,admin目录下的所有资源必须经过认证,并且需要管理员角色

才能访问。

分享到:
评论

相关推荐

    Shiro安全框架概念

    Apache Shiro是一个强大的Java安全框架,它为开发者提供了认证、授权、加密和会话管理等功能,使得在构建...通过理解Shiro的基本概念和组件,开发者能够更有效地利用Shiro保护他们的应用程序,并确保用户数据的安全。

    springMVC整合shiro框架

    3. **Shiro 相关概念** - **Subject**: 表示当前用户或系统的安全主体,可以是用户、服务等,是 Shiro 的核心概念。 - **Session**: Shiro 支持会话管理,可以替代或扩展基于Servlet容器的会话。 - **...

    shiro相关实现例子以及shiro教程文档

    1. **Shiro基础**:讲解Shiro的基本概念,如Subject、Realms、Caches等,以及它们在安全管理中的作用。 2. **身份验证流程**:详述用户登录过程,包括凭证匹配、Remember Me功能,以及如何自定义认证逻辑。 3. **...

    shiro1.7.1.zip

    8. **shiro-config-core-1.7.1.jar**:基础配置模块,包含配置解析和加载的相关类。 9. **shiro-ehcache-1.7.1.jar**:Shiro的EhCache缓存支持,用于存储session等信息,提高性能和减少数据库压力。 在使用Shiro ...

    shiro例子,及书籍shiro.rar

    首先,让我们来了解一下Shiro的核心概念: 1. **认证**:这是验证用户身份的过程。在Shiro中,你可以通过`Subject`接口来进行认证操作,如登录。`Subject`代表当前的用户,它封装了认证、授权、会话管理和密码加密...

    shiro教程 跟我学Shiro教程

    通过阅读,你可以了解到Shiro的基本架构,包括Subject、Realms、Caches等核心概念。Subject是Shiro中的核心接口,代表当前用户的安全上下文;Realms是数据源,负责与后台数据存储进行交互,完成身份验证和授权;...

    Shiro_lib.zip

    在"Shiro_lib.zip"这个压缩包中,我们很显然看到它包含了一系列与Apache Shiro相关的jar包。这些jar文件是Shiro框架的核心组成部分,用于在Java项目中实现安全控制。 首先,让我们来了解一下Shiro的核心概念: 1. ...

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

    大多数情况下,可以将其视为 Shiro 的“用户”概念。Subject 代表了当前用户的所有安全相关操作。 2. **SecurityManager**:安全管理者,是 Shiro 的核心组件之一,采用 Facade 模式设计。它负责管理 Shiro 内部...

    Apache shiro 1.13.0源码

    1. **Subject**:Shiro 的核心概念,代表当前系统中的“安全主体”,可以是用户、服务、系统等。Subject 实现了与安全相关的操作,如登录、登出、获取权限等。 2. **Realms**: Realm 是 Shiro 与具体安全数据源...

    shiro源码(shiro-root-1.8.0-source-release.zip)

    Subject是Shiro的中心概念,代表当前用户或系统中的任何实体。Realms是Shiro与应用安全数据源(如数据库、LDAP等)的桥梁,负责验证凭证。CredentialsMatcher则用于比较用户提供的凭证(如密码)和存储在 Realm 中的...

    Shiro入门到精通

    总的来说,“Shiro入门到精通”课程覆盖了从基础概念到高级特性的全面内容,结合源码分析和Spring Security的对比,将使你对Shiro有深入的理解,能够在实际项目中灵活运用。无论你是初学者还是有经验的开发者,都能...

    shiro-all jar

    2. **org.apache.shiro.aspectj**: 这个模块与AOP相关,特别地,它实现了对AspectJ的支持,使开发者能够利用AspectJ的语法和功能来定义和执行Shiro的安全策略。 3. **org.apache.shiro.authc**: 这是Shiro的身份...

    shiro权限案例demo

    Apache Shiro是一个强大且易用的Java安全框架,主要用于身份认证、授权(权限控制)、会话管理和加密等安全相关的功能。在这个"shiro权限案例demo"中,我们将深入探讨Shiro如何实现用户权限的管理。 首先,让我们...

    shiro-demo_DEMO_shiro_shriodemo_shiro框架demo_shiro前后端分离_

    Shiro 的核心概念** - **Subject**:Shiro 的核心接口,代表当前操作的用户。可以是已认证的用户,也可以是匿名用户。 - **Realms**:Shiro 从 Realm 获取安全信息(如用户、角色、权限)。每个 Realm 对应一个数据...

    shiro上课代码.zip

    在这个名为"shiro上课代码.zip"的压缩包中,我们可以期待找到一系列与Shiro框架相关的代码示例和教程,帮助我们学习如何在实际项目中应用Shiro。 1. **Shiro基础概念** - **认证**:Shiro提供了用户身份验证的机制...

    shiro最简单整合版本

    在本文中,我们将深入探讨 Apache Shiro 的核心概念及其最简单的整合方式。 一、Shiro 的核心组件 1. 身份认证(Authentication):这是验证用户身份的过程,通常涉及用户名和密码的输入。Shiro 提供了 Realm 接口...

    shiro相关lib包.zip

    2. **授权(Authorization)**:Shiro的权限管理非常灵活,支持角色(Role)和权限(Permission)的概念,可以基于URL、方法或任何自定义对象进行权限控制。用户、角色和权限之间的关系可以通过配置文件或者数据库...

    shiro核心资料笔记

    2. **SecurityManager**:Shiro 的安全管理器,负责协调Subject 和其他组件,并管理安全相关的配置。它是Shiro 的核心,管理着所有Subject 和其运行的环境。 3. **Cryptography**:Shiro 提供了加密支持,包括密码...

    Shiro入门.rar

    **一、Shiro基本概念** 1. **认证**:也称为身份验证,是确认用户身份的过程,通常通过用户名和密码进行验证。 2. **授权**:也称为访问控制,是指确定已认证的用户是否允许执行某些操作。 3. **加密**:用于保护...

    shiro jar包及源码下载

    在"shiro-1.3.2.jar包"中,包含了Shiro的核心组件,这些组件负责处理安全相关的任务,如用户身份验证、权限授权、会话管理和密码加密。此版本为1.3.2,是Shiro的一个稳定版本,发布于2016年,适合大部分Java项目使用...

Global site tag (gtag.js) - Google Analytics