核心服务:AuthenticationManagerUserDetailsServiceAccessDecisionManager

The AuthenticationManager, ProviderManager and AuthenticationProvider

AuthenticationManager是一个接口,它默认的实现类是ProviderManager,ProviderManager 并不是自己直接对请求进行验证,而是将其委派给一个AuthenticationProvider 列表。

spring-security.xml中配置

Web应用程序的安全性

The Security Filter Chain

在web.xml配置DelegatingFilterProxy。

    <filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter> <filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

DelegatingFilterProxy这个类本身与springsecurity无关。它的作用是充当代理,将Spring应用程序上下文中的bean委托给servlet 容器中的filter,将其关联起来。

DelegatingFilterProxy类继承于抽象类GenericFilterBean,间接地implement 了javax.servlet.Filter接口。

Servlet容器在启动时,首先会调用Filter的init方法。

GenericFilterBean的作用主要是可以把Filter的初始化参数自动地set到继承于GenericFilterBean类的Filter中去。

标准过滤器别名和顺序
Alias Filter Class Namespace Element or Attribute

CHANNEL_FILTER

ChannelProcessingFilter

http/intercept-url@requires-channel

SECURITY_CONTEXT_FILTER

SecurityContextPersistenceFilter

http

CONCURRENT_SESSION_FILTER

ConcurrentSessionFilter

session-management/concurrency-control

HEADERS_FILTER

HeaderWriterFilter

http/headers

CSRF_FILTER

CsrfFilter

http/csrf

LOGOUT_FILTER

LogoutFilter

http/logout

X509_FILTER

X509AuthenticationFilter

http/x509

PRE_AUTH_FILTER

AbstractPreAuthenticatedProcessingFilterSubclasses

N/A

CAS_FILTER

CasAuthenticationFilter

N/A

FORM_LOGIN_FILTER

UsernamePasswordAuthenticationFilter

http/form-login

BASIC_AUTH_FILTER

BasicAuthenticationFilter

http/http-basic

SERVLET_API_SUPPORT_FILTER

SecurityContextHolderAwareRequestFilter

http/@servlet-api-provision

JAAS_API_SUPPORT_FILTER

JaasApiIntegrationFilter

http/@jaas-api-provision

REMEMBER_ME_FILTER

RememberMeAuthenticationFilter

http/remember-me

ANONYMOUS_FILTER

AnonymousAuthenticationFilter

http/anonymous

SESSION_MANAGEMENT_FILTER

SessionManagementFilter

session-management

EXCEPTION_TRANSLATION_FILTER

ExceptionTranslationFilter

http

FILTER_SECURITY_INTERCEPTOR

FilterSecurityInterceptor

http

SWITCH_USER_FILTER

SwitchUserFilter

N/A

最新文章

  1. Vue.js实现checkbox的全选和反选
  2. ubuntu16.04部署RED5流媒体服务器
  3. 漂亮的Linux命令提示符
  4. SharePoint 2013:自定义ECB菜单项的添加
  5. Codeforces #Round 376 F 题解
  6. Linux下文件的压缩和解压
  7. What is the difference between differed processing mode and interactive mode?
  8. openssl enc 加解密
  9. mapping 详解5(dynamic mapping)
  10. struct--file_operations
  11. ReentrantReadWriteLock读写锁的使用
  12. c语言学习之基础知识点介绍(十一):字符串的介绍、使用
  13. java 下载文件 内容为空。
  14. html背景图片拉伸至全屏
  15. JDK安装:CentOS和Windows环境
  16. DUBBO报错分析—1(连接zookeeper成功,调用方法无反应,不报错)
  17. 招聘ETL开发工程师
  18. 4-23 模块 hashlib ,configparser,loging,collections
  19. ECMAScript 6 入门之Proxy代理和set
  20. [Bayes] Understanding Bayes: Updating priors via the likelihood

热门文章

  1. html中的标签总结
  2. Flink(四) —— 数据流编程模型
  3. MyBatis从入门到精通(第6章):MyBatis 高级查询-&gt;6.1.1高级结果映射之一对一映射
  4. token获取在controller层中
  5. mysql 不停机 短时间锁表 备份 主备同步 新增备份机器
  6. Linux之程序的开始和结束
  7. MySql数据库,查询数据导出时会出现重复的记录(数据越多越明显)
  8. 2019牛客暑期多校训练营(第五场)B.generator 1
  9. 二分查找(python)
  10. java select单线程 服务器