Add sample with form login

This commit is contained in:
Dave Syer
2013-11-01 10:45:54 +00:00
parent e005ba7232
commit e53dad879d
12 changed files with 387 additions and 8 deletions

View File

@@ -98,6 +98,9 @@ import org.springframework.security.web.util.matcher.AnyRequestMatcher;
@EnableConfigurationProperties
public class SecurityAutoConfiguration {
private static List<String> DEFAULT_IGNORED = Arrays.asList("/css/**", "/js/**",
"/images/**", "/**/favicon.ico");
private static final String[] NO_PATHS = new String[0];
@Bean(name = "org.springframework.actuate.properties.SecurityProperties")
@@ -131,9 +134,6 @@ public class SecurityAutoConfiguration {
private static class ApplicationWebSecurityConfigurerAdapter extends
WebSecurityConfigurerAdapter {
private static List<String> DEFAULT_IGNORED = Arrays.asList("/css/**", "/js/**",
"/images/**", "/**/favicon.ico");
@Autowired
private SecurityProperties security;
@@ -271,7 +271,19 @@ public class SecurityAutoConfiguration {
@Override
public void configure(WebSecurity builder) throws Exception {
IgnoredRequestConfigurer ignoring = builder.ignoring();
ignoring.antMatchers(getEndpointPaths(this.endpointHandlerMapping, false));
List<String> ignored = new ArrayList<String>();
if (!this.security.getBasic().isEnabled()) {
ignored.addAll(this.security.getIgnored());
if (ignored.isEmpty()) {
ignored.addAll(DEFAULT_IGNORED);
}
else if (ignored.contains("none")) {
ignored.remove("none");
}
}
ignored.addAll(Arrays.asList(getEndpointPaths(this.endpointHandlerMapping,
false)));
ignoring.antMatchers(ignored.toArray(new String[0]));
}
private AuthenticationEntryPoint entryPoint() {

View File

@@ -66,7 +66,7 @@ public class SecurityAutoConfigurationTests {
PropertyPlaceholderAutoConfiguration.class);
TestUtils.addEnviroment(this.context, "security.ignored:none");
this.context.refresh();
// Just the application and\ management endpoints now
// Just the application and management endpoints now
assertEquals(2, this.context.getBean(FilterChainProxy.class).getFilterChains()
.size());
}
@@ -81,8 +81,8 @@ public class SecurityAutoConfigurationTests {
PropertyPlaceholderAutoConfiguration.class);
TestUtils.addEnviroment(this.context, "security.basic.enabled:false");
this.context.refresh();
// Just the management endpoints now
assertEquals(1, this.context.getBean(FilterChainProxy.class).getFilterChains()
// Just the management endpoints and default ignores now
assertEquals(5, this.context.getBean(FilterChainProxy.class).getFilterChains()
.size());
}