HttpSecurityConfiguration applies all defaults

HttpSecurity headers is off by default and relies on
HttpSecurityConfiguration to enable it. This is more consistent with the
other operators
This commit is contained in:
Rob Winch 2017-09-12 22:07:12 -05:00
parent b5edb58050
commit 3d745e63f6
3 changed files with 11 additions and 8 deletions

View File

@ -67,12 +67,12 @@ public class HttpSecurityConfiguration implements WebFluxConfigurer {
@Bean(HTTPSECURITY_BEAN_NAME)
@Scope("prototype")
public HttpSecurity httpSecurity() {
HttpSecurity http = http();
http.httpBasic();
http.formLogin();
http.authenticationManager(authenticationManager());
http.securityContextRepository(new WebSessionSecurityContextRepository());
return http;
return http()
.authenticationManager(authenticationManager())
.securityContextRepository(new WebSessionSecurityContextRepository())
.headers().and()
.httpBasic().and()
.formLogin().and();
}
private ReactiveAuthenticationManager authenticationManager() {

View File

@ -79,7 +79,7 @@ public class HttpSecurity {
private AuthorizeExchangeBuilder authorizeExchangeBuilder;
private HeaderBuilder headers = new HeaderBuilder();
private HeaderBuilder headers;
private HttpBasicBuilder httpBasic;
private FormLoginBuilder formLogin;
@ -132,6 +132,9 @@ public class HttpSecurity {
}
public HeaderBuilder headers() {
if(this.headers == null) {
this.headers = new HeaderBuilder();
}
return this.headers;
}

View File

@ -56,7 +56,7 @@ public class HttpSecurityTests {
@Before
public void setup() {
this.http = HttpSecurity.http();
this.http = HttpSecurity.http().headers().and();
}
@Test