`
lhx1026
  • 浏览: 306712 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

spring security小结(一)

阅读更多

1、SpringContextHolder用于访问SpringContext。

 

Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();

 

    SpringContextHolder保存了当前和应用系统交互的负责人(principal)的详细信息。

    在Spring安全系统中大多数鉴权机制都返回UserDetails的实例作为负责人(principal)。

2、SpringContext是用于保存鉴权Authentication以及和特定请求相关的的安全信息。

 

3、Authentication,是以Spring安全系统特有的方式表示负责人(principal)。

 

    Authentication提供了重要方法getAuthorities()来获得权限。该方法提供了一组GrantedAuthority对象,一个GrantedAuthority对象就表示一个角色。

 

    可以从Authentication对象中获得一个负责人(principal),principal就是一个对象。在大多数时候,这个对象可以映射为一个UserDetails对象。UserDetails是Spring安全系统中的一个中心接口。它表示一个负责人(principal),只不过是以可扩展和特定应用程序的方式来表示。可以认为UserDetails是在你的用户数据库和Spring安全系统SecurityContextHolder内所需要的内容之间的适配器。作为代表来自你的用户数据的表征,通常可以将UserDetails映射为你的应用程序中提供的原始的对象,这样你就可以调用特定的业务方法(例如getEmail(),getEmployeeNumber()等等了)。

 

4、GrantedAuthority用于反映传递给负责人(principal)在应用范围内的许可。

 

5、UserDetails用于提供必要的信息,以构造一个基于应用系统中的DAO或者其他安全数据来源的鉴权的对象。

 

6、UserDetailsService根据传入的基于字符串的用户名(或者是认证ID,或者其他的类似变量)来创建一个UserDetails。

 

UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;

 

    这是在Spring安全系统中获取一个用户的信息的最普遍的方法,你可以看到在框架内,无论何时需要用户的信息的时候都是使用这个方法来获取。在成功鉴权后,UserDetails就用于构建Authentication对象,该对象保存在Security
ContextHolder。

分享到:
评论

相关推荐

    spring-security 官方文档 中文版

    - **小结**:这些组件共同构成了 Spring Security 的核心架构,提供了强大的身份验证和授权能力。 **5.3 验证** - **什么是 Spring Security 的验证呢?** - Spring Security 的验证机制允许开发者自定义认证过程...

    spring security 配置文件小结(逐步深化到url级别)

    在本文中,我们将深入探讨Spring Security的配置文件小结,逐步深化到URL级别的保护。 首先,我们需要理解Spring Security的核心组件。这些包括`WebSecurityConfigurerAdapter`,这是自定义安全配置的主要入口点;`...

    Spring Security 2.0.x完全中文参考文档

    小结** 对上述组件的功能进行了简要总结。 - **5.3. 验证** - **5.3.1. ExceptionTranslationFilter** 用于处理认证过程中发生的异常。 - **5.3.2. AuthenticationEntryPoint** 定义了当用户尝试访问受...

    Spring Security3 中文版 张卫滨 推荐

    - **小结**:总结了Spring Security在保护Web应用方面的核心价值。 ### 第二章:Spring Security起步 这一章重点介绍了如何快速集成Spring Security到现有的项目中。 - **安全的核心概念**:深入浅出地解释了...

    spring security 优秀中文资料+例子(包含多个中文资料,很全)

    "spring security 配置文件小结(1) - - JavaEye技术网站.mht" 另一份资源可能总结了Spring Security配置文件的关键元素,这对于初学者理解框架的工作机制非常有帮助。配置文件通常包括`applicationContext-security....

    spring security3中文文档

    - **小结**:总结本章内容。 #### 第二章:Spring Security起步 - **安全的核心概念**:深入探讨认证与授权等核心概念。 - **认证**:详细介绍认证的过程及其实现方式。 - **授权**:讲解授权的概念以及在Spring ...

    SpringSecurity 3.0.1.RELEASE.CHM

    5.2.4. 小结 5.3. 验证 5.3.1. 什么是Spring Security的验证呢? 5.3.2. 直接设置SecurityContextHolder的内容 5.4. 在web应用中验证 5.4.1. ExceptionTranslationFilter 5.4.2. AuthenticationEntryPoint ...

    Spring security实现记住我下次自动登录功能过程详解

    Spring Security 实现记住我...小结 在本文中,我们详细介绍了如何使用 Spring Security 实现记住我下次自动登录功能。我们讨论了简单实现方式和数据库实现方式,并分析了它们的优缺点。希望本文能够对您有所帮助。

    SpringSecurity与shiro的使用

    Spring Security与Shiro的使用 Spring Security和Shiro都...小结 Shiro是一个功能强大且灵活的安全框架,提供了许可、认证、加密和会话管理功能。通过自定义Realm,我们可以实现自己的认证逻辑,满足不同的业务需求。

    Spring攻略PDF版

     第13章 Spring Security框架   第14章 Spring Portlet MVC框架   第15章 Spring Web Flow   第16章 Spring远程服务和Web服务   第17章 Spring对EJB和JMS的支持   第18章 Spring对JMX、电子...

    Spring攻略中文版PDF

     第13章 Spring Security框架   第14章 Spring Portlet MVC框架   第15章 Spring Web Flow   第16章 Spring远程服务和Web服务   第17章 Spring对EJB和JMS的支持   第18章 Spring对JMX、电子...

    Spring攻略英文版(附带源码)

     1.6 小结   第2章 Spring简介   2.1 Spring Framework   2.1.1 Spring的模块介绍   2.1.2 Spring的发布版本   2.1.3 Spring的项目   2.2 安装Spring Framework   2.2.1 问题描述   2.2.2...

    Spring in Action(第二版 中文高清版).part2

    第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP ...B.4 小结

    Spring攻略(第二版 中文高清版).part1

    第5章 Spring Security 164 5.1 加强URL访问安全 165 5.1.1 问题 165 5.1.2 解决方案 165 5.1.3 工作原理 166 5.2 登录到Web应用 175 5.2.1 问题 175 5.2.2 解决方案 175 5.2.3 工作原理 175 5.3...

    Spring攻略(第二版 中文高清版).part2

    第5章 Spring Security 164 5.1 加强URL访问安全 165 5.1.1 问题 165 5.1.2 解决方案 165 5.1.3 工作原理 166 5.2 登录到Web应用 175 5.2.1 问题 175 5.2.2 解决方案 175 5.2.3 工作原理 175 5.3...

    Spring in Action(第2版)中文版

    目录 第一部分spring的核心 第1章开始spring之旅 1.1spring是什么 1.2开始spring之旅 1.3理解依赖注入 ...1.5小结 ...2.2.1声明一个简单的bean ...2.6小结 ...3.7小结 ...4.6小结 ...5.5.2创建一个实体管理器工厂 ...b.4小结

Global site tag (gtag.js) - Google Analytics