|
|
|
@ -41,6 +41,7 @@ import org.springframework.security.core.Authentication |
|
|
|
import org.springframework.security.core.userdetails.UserDetailsService |
|
|
|
import org.springframework.security.core.userdetails.UserDetailsService |
|
|
|
import org.springframework.security.core.userdetails.UsernameNotFoundException |
|
|
|
import org.springframework.security.core.userdetails.UsernameNotFoundException |
|
|
|
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter |
|
|
|
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter |
|
|
|
|
|
|
|
import org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter; |
|
|
|
import org.springframework.web.accept.ContentNegotiationStrategy |
|
|
|
import org.springframework.web.accept.ContentNegotiationStrategy |
|
|
|
import org.springframework.web.accept.HeaderContentNegotiationStrategy |
|
|
|
import org.springframework.web.accept.HeaderContentNegotiationStrategy |
|
|
|
import org.springframework.web.filter.OncePerRequestFilter |
|
|
|
import org.springframework.web.filter.OncePerRequestFilter |
|
|
|
@ -99,6 +100,31 @@ class WebSecurityConfigurerAdapterTests extends BaseSpringSpec { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def "webasync populated by default"() { |
|
|
|
|
|
|
|
when: "load config that overrides http and accepts defaults" |
|
|
|
|
|
|
|
loadConfig(WebAsyncPopulatedByDefaultConfig) |
|
|
|
|
|
|
|
then: "WebAsyncManagerIntegrationFilter is populated" |
|
|
|
|
|
|
|
findFilter(WebAsyncManagerIntegrationFilter) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@EnableWebSecurity |
|
|
|
|
|
|
|
@Configuration |
|
|
|
|
|
|
|
static class WebAsyncPopulatedByDefaultConfig extends WebSecurityConfigurerAdapter { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
protected void registerAuthentication(AuthenticationManagerBuilder auth) |
|
|
|
|
|
|
|
throws Exception { |
|
|
|
|
|
|
|
auth |
|
|
|
|
|
|
|
.inMemoryAuthentication() |
|
|
|
|
|
|
|
.withUser("user").password("password").roles("USER") |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
protected void configure(HttpSecurity http) throws Exception { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
def "AuthenticationEventPublisher is registered for Web registerAuthentication"() { |
|
|
|
def "AuthenticationEventPublisher is registered for Web registerAuthentication"() { |
|
|
|
when: |
|
|
|
when: |
|
|
|
loadConfig(InMemoryAuthWithWebSecurityConfigurerAdapter) |
|
|
|
loadConfig(InMemoryAuthWithWebSecurityConfigurerAdapter) |
|
|
|
|