org.springframework.security.config.annotation.web.configuration
Class WebSecurityConfiguration

java.lang.Object
  extended by org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration
All Implemented Interfaces:
Aware, BeanClassLoaderAware, ImportAware

@Configuration
public class WebSecurityConfiguration
extends Object
implements ImportAware, BeanClassLoaderAware

Uses a WebSecurity to create the FilterChainProxy that performs the web based security for Spring Security. It then exports the necessary beans. Customizations can be made to WebSecurity by extending WebSecurityConfigurerAdapter and exposing it as a Configuration or implementing WebSecurityConfigurer and exposing it as a Configuration. This configuration is imported when using EnableWebSecurity.

Since:
3.2
See Also:
EnableWebSecurity, WebSecurity

Constructor Summary
WebSecurityConfiguration()
           
 
Method Summary
 WebInvocationPrivilegeEvaluator privilegeEvaluator()
          Creates the WebInvocationPrivilegeEvaluator that is necessary for the JSP tag support.
 void setBeanClassLoader(ClassLoader classLoader)
           
 void setFilterChainProxySecurityConfigurer(List<SecurityConfigurer<javax.servlet.Filter,WebSecurity>> webSecurityConfigurers)
          Sets the <SecurityConfigurer<FilterChainProxy, WebSecurityBuilder> instances used to create the web configuration.
 void setImportMetadata(AnnotationMetadata importMetadata)
           
 javax.servlet.Filter springSecurityFilterChain()
          Creates the Spring Security Filter Chain
 SecurityExpressionHandler<FilterInvocation> webSecurityExpressionHandler()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebSecurityConfiguration

public WebSecurityConfiguration()
Method Detail

webSecurityExpressionHandler

@Bean
@DependsOn(value="springSecurityFilterChain")
public SecurityExpressionHandler<FilterInvocation> webSecurityExpressionHandler()

springSecurityFilterChain

@Bean(name="springSecurityFilterChain")
public javax.servlet.Filter springSecurityFilterChain()
                                               throws Exception
Creates the Spring Security Filter Chain

Returns:
Throws:
Exception

privilegeEvaluator

@Bean
@DependsOn(value="springSecurityFilterChain")
public WebInvocationPrivilegeEvaluator privilegeEvaluator()
                                                   throws Exception
Creates the WebInvocationPrivilegeEvaluator that is necessary for the JSP tag support.

Returns:
the WebInvocationPrivilegeEvaluator
Throws:
Exception

setFilterChainProxySecurityConfigurer

@Autowired(required=false)
public void setFilterChainProxySecurityConfigurer(List<SecurityConfigurer<javax.servlet.Filter,WebSecurity>> webSecurityConfigurers)
                                           throws Exception
Sets the <SecurityConfigurer<FilterChainProxy, WebSecurityBuilder> instances used to create the web configuration.

Parameters:
webSecurityConfigurers - the <SecurityConfigurer<FilterChainProxy, WebSecurityBuilder> instances used to create the web configuration
Throws:
Exception

setImportMetadata

public void setImportMetadata(AnnotationMetadata importMetadata)
Specified by:
setImportMetadata in interface ImportAware

setBeanClassLoader

public void setBeanClassLoader(ClassLoader classLoader)
Specified by:
setBeanClassLoader in interface BeanClassLoaderAware