This commit is contained in:
Andy Wilkinson
2017-09-27 16:37:24 +01:00
parent bd1bd6bf64
commit 7e2d7dcd1d
16 changed files with 474 additions and 405 deletions

View File

@@ -33,17 +33,18 @@ import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsRepository;
/**
* Default user {@link Configuration} for a reactive web application.
* Configures a {@link UserDetailsRepository} with a default user and generated password.
* This backs-off completely if there is a bean of type {@link UserDetailsRepository}
* or {@link ReactiveAuthenticationManager}.
* Default user {@link Configuration} for a reactive web application. Configures a
* {@link UserDetailsRepository} with a default user and generated password. This
* backs-off completely if there is a bean of type {@link UserDetailsRepository} or
* {@link ReactiveAuthenticationManager}.
*
* @author Madhura Bhave
* @since 2.0.0
*/
@Configuration
@ConditionalOnClass({ReactiveAuthenticationManager.class})
@ConditionalOnMissingBean({ReactiveAuthenticationManager.class, UserDetailsRepository.class })
@ConditionalOnClass({ ReactiveAuthenticationManager.class })
@ConditionalOnMissingBean({ ReactiveAuthenticationManager.class,
UserDetailsRepository.class })
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
public class ReactiveAuthenticationManagerConfiguration {
@@ -53,12 +54,8 @@ public class ReactiveAuthenticationManagerConfiguration {
@Bean
public MapUserDetailsRepository userDetailsRepository() {
String password = UUID.randomUUID().toString();
logger.info(
String.format("%n%nUsing default security password: %s%n", password));
UserDetails user = User.withUsername("user")
.password(password)
.roles()
.build();
logger.info(String.format("%n%nUsing default security password: %s%n", password));
UserDetails user = User.withUsername("user").password(password).roles().build();
return new MapUserDetailsRepository(user);
}
}

View File

@@ -24,16 +24,17 @@ import org.springframework.security.config.annotation.web.reactive.EnableWebFlux
import org.springframework.security.web.reactive.result.method.annotation.AuthenticationPrincipalArgumentResolver;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Security in a
* reactive application. This auto-configuration adds {@link EnableWebFluxSecurity}
* and delegates to Spring Security's content-negotiation mechanism for authentication.
* In a webapp this configuration also secures all web endpoints.
* {@link EnableAutoConfiguration Auto-configuration} for Spring Security in a reactive
* application. This auto-configuration adds {@link EnableWebFluxSecurity} and delegates
* to Spring Security's content-negotiation mechanism for authentication. In a webapp this
* configuration also secures all web endpoints.
*
* @author Madhura Bhave
* @since 2.0.0
*/
@Configuration
@ConditionalOnClass({EnableWebFluxSecurity.class, AuthenticationPrincipalArgumentResolver.class})
@ConditionalOnClass({ EnableWebFluxSecurity.class,
AuthenticationPrincipalArgumentResolver.class })
@Import({ WebfluxSecurityConfiguration.class,
ReactiveAuthenticationManagerConfiguration.class })
public class ReactiveSecurityAutoConfiguration {

View File

@@ -23,8 +23,8 @@ import org.springframework.security.config.annotation.web.reactive.EnableWebFlux
import org.springframework.security.config.annotation.web.reactive.WebFluxSecurityConfiguration;
/**
* Switches on {@link EnableWebFluxSecurity} for a reactive web application
* if this annotation has not been added by the user.
* Switches on {@link EnableWebFluxSecurity} for a reactive web application if this
* annotation has not been added by the user.
*
* @author Madhura Bhave
* @since 2.0.0

View File

@@ -120,7 +120,8 @@ public class WebServicesAutoConfiguration {
Bindable.listOf(String.class))
.orElse(Collections.emptyList());
for (String wsdlLocation : wsdlLocations) {
registerBeans(wsdlLocation, "*.wsdl", SimpleWsdl11Definition.class, registry);
registerBeans(wsdlLocation, "*.wsdl", SimpleWsdl11Definition.class,
registry);
registerBeans(wsdlLocation, "*.xsd", SimpleXsdSchema.class, registry);
}
}