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

shiro学习01-用户以及登录-Subject类

阅读更多

网站的用户在shiro中用subject表示,使用的默认类是WebDelegatingSubject,是DelegatingSubject的子类,这个WebDelegatingSubject里面含有很多很多的参数:

·PrincipalCollection:主键(或者标记的集合),

·authenticated:是否校验过,

·Host登录的ip

·session:当前的session(经过shiro封装的)

·request:发起的请求

·response:就是平时的response

· SecurityManagerspring中配置的securityManager

Subject的生命周期:每一次访问时都会创建一个新的subject,然后创建shiro封装后的session(封装的HttpSession),然后将这个新创建的subject绑定到ThreadContext上,然后通过securityUtils中在程序的任何地方调用getSubject时都会返回同一个subject,也就是本次请求创建的那个。由于之前存放在HttpSession中的信息还会存在,所以不会丢失信息。Subject获得httpSession的办法最终还是调用的request.getSession(true),也就是根据sessionID来获取session的。

 

每一次创建完成subject都会讲subject的属性存放到session中去,存放的只有两个一个是principal,一个是是否校验成功。

 

分享到:
评论

相关推荐

    shiro-root-1.3.2-source-release

    你提到的 "shiro-root-1.3.2-source-release" 是Apache Shiro 1.3.2版本的源码发布包,其中包含了Shiro的核心实现类以及相关的集成示例。 Shiro 的核心组件包括以下几个部分: 1. **认证**(Authentication):这...

    shiro-root-1.2.2-source-release.zip

    你提到的 "shiro-root-1.2.2-source-release.zip" 文件是Apache Shiro 1.2.2版本的源码发布包,包含了该版本的所有源代码,这对于开发者来说是一个宝贵的资源,可以深入理解Shiro的内部工作原理以及如何定制和扩展其...

    shiro-root-1.32-source-release

    通过对 "shiro-root-1.32-source-release" 源码的学习,开发者不仅可以掌握 Shiro 的核心功能,还能深入理解其实现原理,从而更好地在实际项目中应用和定制 Shiro,提升应用的安全性和可维护性。

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

    Shiro的Remember Me服务允许用户在一次登录后,下次访问时自动登录,提高用户体验。它使用安全的加密技术存储用户的记住我信息,避免了安全风险。 7. **Caching**: Shiro提供了缓存管理,可以缓存认证和授权信息...

    shiro-web-master.zip

    在"shiro-web-master.zip"这个压缩包中,我们很显然将要深入学习Shiro在Web环境下的应用,特别是涉及到加密技术、用户登录验证、权限控制以及利用Redis进行缓存管理等方面的知识。 1. **Shiro基础** Shiro的核心...

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

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

    Spring Shiro 学习系统 Spring-Shiro-training

    2. **身份认证**:介绍Shiro的Subject、Realms和CredentialsMatcher等概念,以及如何实现自定义的认证逻辑,确保用户凭据的正确性。 3. **授权管理**:讲解Shiro的角色和权限模型,如何进行角色分配,以及基于角色...

    shiro-root-1.7.0_ROOT_shirocore1.7_shiro1.7源码_

    Shiro 提供了Subject接口作为与Shiro交互的主要方式,包括登录、登出等操作。内部通过Realm来获取和验证用户的凭证, Realm是Shiro与应用安全数据源的桥梁,它可以是数据库、LDAP或任何其他存储用户信息的地方。 2....

    shiro-all-1.2.3.jar

    1. **认证(Authentication)**:Shiro提供了一套完整的机制来验证用户身份,包括凭证匹配器(CredentialsMatcher)、 Realm(用于连接应用的特定安全数据源)以及Subject(代表当前操作的用户)。 2. **授权...

    shiro-root-1.2.3-source-release源码带注释.rar

    在源码中,你可以看到`Subject`接口及其实现类`DefaultSubject`,以及`Realm`接口,它是实际执行凭证验证的地方。 3. **授权(Authorization)** 授权是指确定用户是否有权限执行特定操作。Shiro使用角色(Role)...

    shiro-root-1.4.0-RC2.rar

    Shiro提供了一个`Subject`接口来代表当前操作的用户,以及与之相关的认证和授权信息。`Subject`通过`Realm`进行认证,`Realm`是与应用程序特定的安全数据源(如数据库或LDAP)的桥梁。 2. **授权(Authorization)*...

    shiro视频教程-最全,通俗易懂

    通过上述知识点的学习,Java开发者及相关专业和技术爱好者将能够深入理解Shiro框架的核心概念与工作原理,并能够运用到实际项目开发中,实现用户认证、授权、加密等功能,从而提升项目的整体安全性和用户体验。

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

    通过阅读源码,我们可以深入理解Shiro如何处理认证、授权、会话管理和加密的过程,以及它是如何与应用程序的数据源交互的。对于开发者来说,这有助于自定义安全策略,实现更复杂的安全需求,例如定制`Realm`以适应...

    shiro-1.3.2

    - **Subject**:Shiro 的核心概念,代表当前系统中的用户,它可以是真实用户、系统账户或其他代表安全实体的对象。 - **Realms**:Shiro与安全数据源(如数据库、LDAP等)交互的桥梁,负责认证和授权的实现。 - **...

    liu_guo_feng-shiro-demo-master_java_源码.zip

    通过分析这个源码示例,我们可以学习到如何在实际项目中配置和使用Shiro,实现用户认证、授权、会话管理等核心功能,为我们的Java应用构建一套安全可靠的防护体系。同时,对于Shiro的扩展和自定义,例如自定义Realm...

    shiro-1.2.3所有依赖包以及源码

    3. **shiro-core-1.2.3.jar**:Shiro的核心组件,包含了基础的安全管理类和接口,如Subject、SecurityManager、Realm等。 4. **shiro-web-1.2.3.jar**:这个模块是为Web应用程序设计的,提供了过滤器和其他Web相关...

    shiro1.3.2 源码和jar包

    例如,它提供了Subject接口,它是Shiro框架中的核心概念,代表了当前的安全主体(如用户)。此外,还包括Realm接口,它是连接Shiro与应用数据源的桥梁,实现 Realm 可以将Shiro与数据库或其他数据存储进行集成,进行...

    iherus-shiro-redis-master.zip_iherus_redis

    在本系统中,Shiro负责处理用户的登录验证、角色权限分配以及访问控制等任务。例如,Shiro可以通过Subject对象来处理用户身份,Role和Permission接口则用于定义角色和权限,而Filter链则可以在HTTP请求层面进行权限...

Global site tag (gtag.js) - Google Analytics