`
lhx1026
  • 浏览: 301260 次
  • 性别: 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 中文教程.pdf

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

    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-3.0.1中文官方文档(翻译版)

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

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

    NULL 博文链接:https://whp0731.iteye.com/blog/453796

    Spring攻略PDF版

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

    Spring Security3 张卫滨(译)

    小结......................................................................................................................................... 14 第二章 Spring Security起步...............................

    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攻略(第二版 中文高清版).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小结

    spring boot 全面的样例代码

    - [Spring Boot Actuator监控端点小结](http://blog.didispace.com/spring-boot-actuator-1/) - [在传统Spring应用中使用spring-boot-actuator模块提供监控端点]...

    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 in Action(第二版 中文高清版).part1

    第一部分 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 小结

    springboot学习

    Spring Boot Actuator监控端点小结 在传统Spring应用中使用spring-boot-actuator模块提供监控端点 Spring Boot应用的后台运行配置 Spring Boot自定义Banner Dubbo进行服务治理 chapter9-2-1:Spring Boot中使用Dubbo...

    spring-boot项目实践总结

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是简化新Spring应用程序的初始构建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种

    sales-order-system:Spring Web MVC + JPA + Hibernate + JSP + JSTL应用程序

    这是一个非常小的全栈Web应用程序,仅用作示例,仅用于演示目的。 发展 本地运行 结帐代码 git clone https://github.com/colinbut/sales-order-system.git 进行本地构建 mvn clean package ...将编译源代码,打包...

    asp.net知识库

    C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件...

Global site tag (gtag.js) - Google Analytics