Merge branch '3.0.x' into 3.1.x

This commit is contained in:
Phillip Webb 2023-07-18 10:16:56 +01:00
commit 30cc2a48c7

View File

@ -30,6 +30,9 @@ import org.springframework.security.core.userdetails.User.UserBuilder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
import org.springframework.web.servlet.handler.HandlerMappingIntrospector;
import static org.springframework.security.config.Customizer.withDefaults;
@ -55,16 +58,18 @@ public class SecurityConfiguration {
}
@Bean
SecurityFilterChain configure(HttpSecurity http) throws Exception {
SecurityFilterChain configure(HttpSecurity http, HandlerMappingIntrospector handlerMappingIntrospector)
throws Exception {
http.authorizeHttpRequests((requests) -> {
requests.requestMatchers("/actuator/beans").hasRole("BEANS");
requests.requestMatchers(new MvcRequestMatcher(handlerMappingIntrospector, "/actuator/beans"))
.hasRole("BEANS");
requests.requestMatchers(EndpointRequest.to("health")).permitAll();
requests.requestMatchers(EndpointRequest.toAnyEndpoint().excluding(MappingsEndpoint.class))
.hasRole("ACTUATOR");
requests.requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll();
requests.requestMatchers("/foo").permitAll();
requests.requestMatchers("/error").permitAll();
requests.requestMatchers("/**").hasRole("USER");
requests.requestMatchers(new AntPathRequestMatcher("/error")).permitAll();
requests.requestMatchers(new AntPathRequestMatcher("/**")).hasRole("USER");
});
http.cors(withDefaults());
http.httpBasic(withDefaults());