mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-04-30 19:25:04 +00:00
Polish DefaultFilters,Issue55Tests
Formatted HttpSecurity and WebSecurity configuration stacks Removed unnecessary code Issue gh-4939
This commit is contained in:
parent
950e6422a1
commit
1176d0cfdb
@ -15,8 +15,15 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.security.config.annotation.web.configurers;
|
package org.springframework.security.config.annotation.web.configurers;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import javax.servlet.Filter;
|
||||||
|
import javax.servlet.ServletException;
|
||||||
|
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -52,12 +59,6 @@ import org.springframework.security.web.servletapi.SecurityContextHolderAwareReq
|
|||||||
import org.springframework.security.web.session.SessionManagementFilter;
|
import org.springframework.security.web.session.SessionManagementFilter;
|
||||||
import org.springframework.security.web.util.matcher.AnyRequestMatcher;
|
import org.springframework.security.web.util.matcher.AnyRequestMatcher;
|
||||||
|
|
||||||
import javax.servlet.Filter;
|
|
||||||
import javax.servlet.ServletException;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -79,9 +80,11 @@ public class DefaultFiltersTests {
|
|||||||
static class FilterChainProxyBuilderMissingConfig {
|
static class FilterChainProxyBuilderMissingConfig {
|
||||||
@Autowired
|
@Autowired
|
||||||
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
|
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
|
||||||
|
// @formatter:off
|
||||||
auth
|
auth
|
||||||
.inMemoryAuthentication()
|
.inMemoryAuthentication()
|
||||||
.withUser("user").password("password").roles("USER");
|
.withUser("user").password("password").roles("USER");
|
||||||
|
// @formatter:on
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,17 +149,21 @@ public class DefaultFiltersTests {
|
|||||||
@EnableWebSecurity
|
@EnableWebSecurity
|
||||||
static class FilterChainProxyBuilderIgnoringConfig extends WebSecurityConfigurerAdapter {
|
static class FilterChainProxyBuilderIgnoringConfig extends WebSecurityConfigurerAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void configure(WebSecurity builder) throws Exception {
|
public void configure(WebSecurity web) throws Exception {
|
||||||
builder
|
// @formatter:off
|
||||||
|
web
|
||||||
.ignoring()
|
.ignoring()
|
||||||
.antMatchers("/resources/**");
|
.antMatchers("/resources/**");
|
||||||
|
// @formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void configure(HttpSecurity http) throws Exception {
|
protected void configure(HttpSecurity http) throws Exception {
|
||||||
|
// @formatter:off
|
||||||
http
|
http
|
||||||
.authorizeRequests()
|
.authorizeRequests()
|
||||||
.anyRequest().hasRole("USER");
|
.anyRequest().hasRole("USER");
|
||||||
|
// @formatter:on
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,8 +15,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.security.config.annotation.web.configurers;
|
package org.springframework.security.config.annotation.web.configurers;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.servlet.Filter;
|
||||||
|
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.core.annotation.Order;
|
import org.springframework.core.annotation.Order;
|
||||||
@ -31,14 +36,8 @@ import org.springframework.security.core.AuthenticationException;
|
|||||||
import org.springframework.security.web.FilterChainProxy;
|
import org.springframework.security.web.FilterChainProxy;
|
||||||
import org.springframework.security.web.SecurityFilterChain;
|
import org.springframework.security.web.SecurityFilterChain;
|
||||||
import org.springframework.security.web.access.intercept.FilterSecurityInterceptor;
|
import org.springframework.security.web.access.intercept.FilterSecurityInterceptor;
|
||||||
import org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.servlet.Filter;
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Java6Assertions.assertThat;
|
import static org.assertj.core.api.Java6Assertions.assertThat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -68,9 +67,11 @@ public class Issue55Tests {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void configure(HttpSecurity http) throws Exception {
|
protected void configure(HttpSecurity http) throws Exception {
|
||||||
|
// @formatter:off
|
||||||
http
|
http
|
||||||
.authorizeRequests()
|
.authorizeRequests()
|
||||||
.anyRequest().hasRole("USER");
|
.anyRequest().hasRole("USER");
|
||||||
|
// @formatter:on
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,12 +97,6 @@ public class Issue55Tests {
|
|||||||
assertThat(secondFilter.getAuthenticationManager().authenticate(token)).isEqualTo(CustomAuthenticationManager.RESULT);
|
assertThat(secondFilter.getAuthenticationManager().authenticate(token)).isEqualTo(CustomAuthenticationManager.RESULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
private AuthenticationManager getAuthManager(AbstractAuthenticationProcessingFilter filter) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
|
|
||||||
final Method getAuthenticationManager = filter.getClass().getDeclaredMethod("getAuthenticationManager");
|
|
||||||
getAuthenticationManager.setAccessible(true);
|
|
||||||
return (AuthenticationManager) getAuthenticationManager.invoke(filter);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EnableWebSecurity
|
@EnableWebSecurity
|
||||||
static class MultiWebSecurityConfigurerAdapterDefaultsAuthManagerConfig {
|
static class MultiWebSecurityConfigurerAdapterDefaultsAuthManagerConfig {
|
||||||
@Component
|
@Component
|
||||||
@ -109,10 +104,11 @@ public class Issue55Tests {
|
|||||||
public static class ApiWebSecurityAdapter extends WebSecurityConfigurerAdapter {
|
public static class ApiWebSecurityAdapter extends WebSecurityConfigurerAdapter {
|
||||||
@Override
|
@Override
|
||||||
protected void configure(HttpSecurity http) throws Exception {
|
protected void configure(HttpSecurity http) throws Exception {
|
||||||
http
|
// @formatter:off
|
||||||
.antMatcher("/api/**")
|
http.antMatcher("/api/**")
|
||||||
.authorizeRequests()
|
.authorizeRequests()
|
||||||
.anyRequest().hasRole("USER");
|
.anyRequest().hasRole("USER");
|
||||||
|
// @formatter:on
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,9 +116,11 @@ public class Issue55Tests {
|
|||||||
public static class WebSecurityAdapter extends WebSecurityConfigurerAdapter {
|
public static class WebSecurityAdapter extends WebSecurityConfigurerAdapter {
|
||||||
@Override
|
@Override
|
||||||
protected void configure(HttpSecurity http) throws Exception {
|
protected void configure(HttpSecurity http) throws Exception {
|
||||||
|
// @formatter:off
|
||||||
http
|
http
|
||||||
.authorizeRequests()
|
.authorizeRequests()
|
||||||
.anyRequest().hasRole("USER");
|
.anyRequest().hasRole("USER");
|
||||||
|
// @formatter:on
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,7 +141,7 @@ public class Issue55Tests {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Filter findFilter(Class<?> filter, int index) {
|
Filter findFilter(Class<?> filter, int index) {
|
||||||
List<Filter> filters = filterChain(index).getFilters();
|
List<Filter> filters = filterChain(index).getFilters();
|
||||||
for (Filter it : filters) {
|
for (Filter it : filters) {
|
||||||
if (filter.isAssignableFrom(it.getClass())) {
|
if (filter.isAssignableFrom(it.getClass())) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user