|
|
|
@ -69,7 +69,11 @@ SecurityFilterChain web(HttpSecurity http) throws Exception { |
|
|
|
.authorizeHttpRequests(authorize -> authorize // <1> |
|
|
|
.authorizeHttpRequests(authorize -> authorize // <1> |
|
|
|
.mvcMatchers("/resources/**", "/signup", "/about").permitAll() // <2> |
|
|
|
.mvcMatchers("/resources/**", "/signup", "/about").permitAll() // <2> |
|
|
|
.mvcMatchers("/admin/**").hasRole("ADMIN") // <3> |
|
|
|
.mvcMatchers("/admin/**").hasRole("ADMIN") // <3> |
|
|
|
.mvcMatchers("/db/**").access("hasRole('ADMIN') and hasRole('DBA')") // <4> |
|
|
|
.mvcMatchers("/db/**").access((authentication, request) -> |
|
|
|
|
|
|
|
Optional.of(hasRole("ADMIN").check(authentication, request)) |
|
|
|
|
|
|
|
.filter((decision) -> !decision.isGranted()) |
|
|
|
|
|
|
|
.orElseGet(() -> hasRole("DBA").check(authentication, request)); |
|
|
|
|
|
|
|
) // <4> |
|
|
|
.anyRequest().denyAll() // <5> |
|
|
|
.anyRequest().denyAll() // <5> |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|