`
流浪鱼
  • 浏览: 1697962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shiro常用的概念

 
阅读更多

Subject:在我们的教程中已经提到,Subject 实质上是一个当前执行用户的特定的安全“视图”。鉴于"User"
一词通常意味着一个人,而一个Subject 可以是一个人,但它还可以代表第三方服务,daemon account,cron job,
或其他类似的任何东西——基本上是当前正与软件进行交互的任何东西。
所有Subject 实例都被绑定到(且这是必须的)一个SecurityManager 上。当你与一个Subject 交互时,那些交
互作用转化为与SecurityManager 交互的特定subject 的交互作用。

SecurityManager:SecurityManager 是Shiro 架构的心脏,并作为一种“保护伞”对象来协调内部的安全组件
共同构成一个对象图。然而,一旦SecurityManager 和它的内置对象图已经配置给一个应用程序,那么它单独
留下来,且应用程序开发人员几乎使用他们所有的时间来处理Subject API。
我们稍后会更详细地讨论SecurityManager,但重要的是要认识到,当你正与一个Subject 进行交互时,实质上
是幕后的SecurityManager 处理所有繁重的Subject 安全操作

Realms:Realms 担当Shiro 和你的应用程序的安全数据之间的“桥梁”或“连接器”。当它实际上与安全相
关的数据如用来执行身份验证(登录)及授权(访问控制)的用户帐户交互时,Shiro 从一个或多个为应用程
序配置的Realm 中寻找许多这样的东西。
在这个意义上说,Realm 本质上是一个特定安全的DAO:它封装了数据源的连接详细信息,使Shiro 所需的相
关的数据可用。当配置Shiro 时,你必须指定至少一个Realm 用来进行身份验证和/或授权。SecurityManager
可能配置多个Realms,但至少有一个是必须的。

Principals(身份)是Subject 的‘identifying attributes(标识属性)’。Principals(身份)可以是任何能够证明
Subject 的东西,如名,姓氏,用户名,社会保险号(相当于我们的身份证号码)等等。当然像姓氏这样的
用来标识Subject 并不是很好,因此,最好的用来进行身份验证的Principals(身份)是对应用程序来说应
该是独一无二的——通常是用户名或电子邮件地址。

Credentials(凭证)通常是只被Subject 知道的秘密值,它用来作为一种起支持作用的证据,此证据事实上
包含着所谓的身份证明。一些常见credentials(凭证)的例子有密码,生物特征数据如指纹和视网膜扫描,
以及X.509 证书。

分享到:
评论

相关推荐

    Shiro安全框架概念

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

    shiro1.7.1.zip

    如Subject、Realms、Cryptography、Session等概念都包含在这个模块中。 2. **shiro-web-1.7.1.jar**:这个模块是针对Web环境设计的,提供了Web相关的安全控制,如Filter配置、HTTP请求的拦截处理等,方便在Web应用...

    shiro例子,及书籍shiro.rar

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

    shiro教程 跟我学Shiro教程

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

    Apache shiro 1.13.0源码

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

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

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

    Shiro入门到精通

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

    shiro权限案例demo

    1. **Subject**:是Shiro的中心概念,代表了当前“安全的用户”。它提供了进行认证、授权、会话管理和事件监听的主要接口。 2. **Realms**: Realm是Shiro与应用安全数据源(如数据库)的桥梁,它负责验证凭证并...

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

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

    shiro-all jar

    7. **org.apache.shiro.subject**: Shiro的核心概念,代表当前操作的主体(如用户),包括其认证信息和授权信息。 8. **org.apache.shiro.web**: 针对Web应用的安全管理,提供过滤器、控制器等功能,易于与Servlet...

    shiro最简单整合版本

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

    Shiro_lib.zip

    首先,让我们来了解一下Shiro的核心概念: 1. **认证**:也称为身份验证,是确认用户身份的过程。Shiro提供了多种认证方式,包括基于用户名/密码的登录、API令牌等。它支持简单的内存存储和复杂的数据库验证。 2. ...

    shiro jar包及源码下载

    在学习和使用Shiro时,了解并掌握这些核心概念至关重要。通过阅读"shiro-core-1.3.2-sources.jar"中的源代码,你可以更深入地理解Shiro的内部实现,提升自己的安全编程技能。同时,结合官方文档和其他教程,可以更好...

    shiro核心资料笔记

    1. **Subject**:Shiro 的核心概念,代表当前操作用户,它是一个抽象的概念,可以是实际的用户,也可以是系统中的其他实体,如服务、后台进程等。 2. **SecurityManager**:Shiro 的安全管理器,负责协调Subject 和...

    shiro上课代码.zip

    1. **Shiro基础概念** - **认证**:Shiro提供了用户身份验证的机制,包括用户名/密码的匹配,以及Remember Me功能。 - **授权**:权限管理是Shiro的核心功能之一,它支持角色(Role)和权限(Permission)的概念,...

    shiro项目基本运行架包以及全部的架包shiro-all.jar

    - **Subject**:Shiro中的核心概念,代表当前操作的用户,可以是已认证的或未认证的。 - **Realms**:负责与特定的安全存储(如数据库)交互,获取和验证凭证,以及授权信息。 - **Cryptography**:理解和使用Shiro...

    Shiro权限管理 的jar包 ,一些example ,shiro资料笔记与核心单词

    - **shiro资料笔记与核心单词**:用户的学习笔记,可能涵盖了关键概念和常用API,是学习Shiro的好帮手。 在实际应用中,Shiro可以通过简单的配置实现用户的登录、权限检查、会话管理等功能。通过 Realm,我们可以...

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

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

    springMVC整合shiro框架

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

    Shiro入门.rar

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

Global site tag (gtag.js) - Google Analytics