spring security梳理

 

核心服務:AuthenticationManagerUserDetailsServiceAccessDecisionManagerjava

The AuthenticationManager, ProviderManager and AuthenticationProvider

AuthenticationManager是一個接口,它默認的實現類是ProviderManager,ProviderManager 並非本身直接對請求進行驗證,而是將其委派給一個AuthenticationProvider 列表。web

spring-security.xml中配置spring

 

 

 

Web應用程序的安全性

The Security Filter Chain

在web.xml配置DelegatingFilterProxy。api

    <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接口。session

Servlet容器在啓動時,首先會調用Filter的init方法。app

GenericFilterBean的做用主要是能夠把Filter的初始化參數自動地set到繼承於GenericFilterBean類的Filter中去。ide

 

 

標準過濾器別名和順序
Alias Filter Class Namespace Element or Attribute

CHANNEL_FILTERui

ChannelProcessingFilterurl

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

相關文章
相關標籤/搜索