`
Dead_knight
  • 浏览: 1202277 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
752c8642-b795-3fe6-946e-a4e845bffdec
Spring Securi...
浏览量:240614
33caa84e-18a6-3036-a82b-6e2106a4de63
clojure专题
浏览量:49056
E17ca077-44df-3816-a3fe-471c43f6e1e5
WebLogic11g
浏览量:237060
社区版块
存档分类
最新评论

Spring Security3源码分析-认证授权分析

阅读更多

前面分析了FilterChainProxy执行过程,也对常用的filter逐一深入介绍了,但似乎忽略了Spring Security的核心功能:认证和授权
虽然在介绍过滤器时也把认证、授权的具体过程深入分析了,但一直没有从整体设计的角度来观察认证、授权过程。

虽然前面介绍了很多过滤器处理过程,但个人认为真正对认证授权起决定影响的过滤器只有三个。
分别是

SecurityContextPersistenceFilter:创建安全上下文SecurityContext
UsernamePasswordAuthenticationFilter:完成认证处理,并把认证通过的实体保存到SecurityContext中
FilterSecurityInterceptor:完成授权处理

上面的UsernamePasswordAuthenticationFilter只是其中一种form-login认证方式,还有很多其他的方式,这里不一一描述了。仅仅选择form-login方式来简化观点的本质。
从下面的过滤器流向图应该能清晰描述这几个过滤器的核心处理过程
FilterChain

 

认证过程:

 

授权过程:

分享到:
评论
4 楼 xsd_旧 2015-11-08  
学习啦,写的真好
3 楼 chenjazz 2015-10-26  
写的真好    
2 楼 hujw1987 2012-09-05  
感谢你的分析总结,有时间也的研读一下源码
1 楼 lintghi 2012-06-18  

相关推荐

    Spring security oauth源码

    通过分析这些源码,我们可以深入理解OAuth的工作原理,以及Spring Security OAuth如何支持这些功能。同时,Sparklr2和Tonr2示例能帮助我们直观地看到OAuth流程的每个步骤,包括授权、令牌交换和资源访问。 在实际...

    Spring Security 3 源码分析文档

    通过阅读《Spring Security3.pdf》和《spring security3 源码分析.pdf》这两份文档,你可以对Spring Security 3的内部工作机制有更深入的理解,从而更好地在项目中运用这个强大的安全框架。同时,这也会帮助你在面临...

    Spring_Security3_源码分析

    总结,Spring Security 3的源码分析是一个深度学习的过程,涵盖了安全领域的多个方面。通过理解其内部工作机制,开发者可以更好地利用这一强大的框架,为应用程序提供安全的保障。同时,源码分析也能帮助开发者解决...

    spring security 3.1.3 源码含sample源码

    通过分析这个项目,你可以了解如何将Spring Security集成到Web应用中,包括设置登录页面、配置URL保护、实现自定义认证和授权逻辑等。 **7. Spring Security的扩展性** Spring Security具有高度的可扩展性,可以...

    SpringBoot_SpringSecurity-源码.rar

    SpringBoot_SpringSecurity-源码.zip 这个压缩包文件主要包含了SpringBoot集成SpringSecurity的源码分析。SpringBoot是Java开发中一个流行的轻量级框架,它简化了配置和应用部署,使得开发者可以快速搭建应用程序。...

    spring-security3.1源码

    3. **Filter安全链**:Spring Security 的Web安全功能主要通过一系列过滤器实现,这些过滤器构成了安全链。其中关键的过滤器有`DelegatingFilterProxy`、`ChannelProcessingFilter`、`...

    spring security源码分析.pdf

    ### Spring Security 源码分析知识...以上内容涵盖了 Spring Security 3 的源码分析中几个关键点的具体内容。通过对这些内容的深入学习和理解,可以更好地掌握 Spring Security 的工作原理及其在实际项目中的应用技巧。

    spring-security-samples-contacts-3.1.3 源码实例

    Spring Security是Spring生态体系中的核心组件,负责应用的安全性,包括认证、授权、会话管理等。它通过拦截器机制,在请求处理之前进行权限检查,确保只有经过认证和授权的用户才能访问特定资源。 2. **认证与...

    SpringSecurity源码

    在学习SpringSecurity源码时,建议从以下几个方面入手: 1. **源码结构分析**:了解主要组件的类结构和它们之间的关系,如`Authentication`、`Authorization`、`FilterChainProxy`等。 2. **关键类的实现**:深入...

    spring源码分析(1-10)

    9. **Spring Acegi框架鉴权实现**:Spring Acegi(现已被Spring Security取代)提供了强大的安全框架,支持用户认证、权限控制等功能。Spring通过Acegi的FilterSecurityInterceptor实现Web应用的访问控制。 10. **...

    Spring_Security源码分析

    在这个源码分析中,我们将聚焦于 `ConfigAttributeDefinition` 类,它是Spring Security配置核心组件的一部分。 `ConfigAttributeDefinition` 类扮演着配置属性的容器角色。它用于封装一系列的 `ConfigAttribute` ...

    spring-security3.0.5源码

    通过对`spring-security-3.0.5.RELEASE`源码的分析,我们可以了解每个类和接口的作用,学习如何扩展和配置Spring Security以满足特定需求。这包括理解`@Configuration`和`@EnableGlobalMethodSecurity`注解如何启用...

    spring-security源代码

    这个压缩包文件"spring-security-parent-2.0.4"是Spring Security的2.0.4版本,是一个Eclipse项目,适合开发者直接导入到Eclipse工作空间进行学习和分析。 1. **Spring Security架构**: Spring Security的架构...

    spring-security-web-3 source code

    《深入剖析Spring Security Web 3源码...总结,通过对`spring-security-web-3`源码的分析,开发者不仅可以掌握Spring Security的内在工作原理,还能提升解决实际安全问题的能力,为构建更安全的Web应用提供坚实的基础。

    spring security 项目配置源码

    - 通过源码分析,了解Spring Security的拦截器如何工作,以及如何自定义安全规则。 - 查看`SecurityConfig`类,这是Spring Security的核心配置,它扩展了`WebSecurityConfigurerAdapter`并覆盖了一些关键方法。 -...

    SpringSecurity学习总结源代码

    首先,SpringSecurity的核心功能包括用户认证、权限授权、会话管理以及防止常见攻击。其中,用户认证涉及验证用户凭据,如用户名和密码,以确定用户的身份。而权限授权则决定了已认证的用户可以访问哪些资源或执行...

    spring-security-3.2.9和spring-framework-3.2.4的jar包和源码

    3. **认证**:Spring Security提供了多种认证机制,如基于表单的登录、基于令牌的认证(如JWT)等。 4. **授权**:通过访问决策管理器和访问决策投票器来决定用户是否被授权访问特定资源。 5. **表达式式访问控制**...

    spring security 源码

    本篇文章将深入探讨Spring Security的核心概念和源码分析。 1. **核心组件** - `SecurityContextHolder`: 它是Spring Security的核心,存储当前请求的安全上下文,包含认证信息和权限。 - `Authentication`: 表示...

    springsecurity源码(鉴权有缺陷)

    Spring Security 是一个强大的安全框架,用于为 Java 应用程序提供认证和授权功能。然而,正如标题所提及的,Spring Security 的源码可能存在鉴权缺陷。这个话题涉及到多个知识点,包括Spring Security的基本架构、...

    spring-security-3.1.x.zip 源码下载

    - **过滤器链(Filter Chain)**:Spring Security的核心在于一系列的过滤器,它们按特定顺序拦截请求,处理认证和授权。 2. **主要组件**: - **AuthenticationProvider**:处理用户的认证请求,实现具体的认证...

Global site tag (gtag.js) - Google Analytics