У меня есть приложение с загрузочной пружиной, где мне нужно ограничить доступ для определенных конечных точек.Пока что я могу проходить аутентификацию на Azure с использованием SAML 2.0.
Это основная конфигурация аутентификации в Spring
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.exceptionHandling()
.authenticationEntryPoint(samlEntryPoint());
http
.csrf()
.disable();
http
.addFilterBefore(metadataGeneratorFilter(), ChannelProcessingFilter.class)
.addFilterAfter(samlFilter(), BasicAuthenticationFilter.class);
http
.authorizeRequests()
.antMatchers("/error").permitAll()
.antMatchers("/saml/**").permitAll()
.anyRequest().authenticated();
http
.logout()
.logoutSuccessUrl("/");
}
в Azure Я добавил роли к значениям заявки, как показано на рисунке ниже
Заявки Azure
Моя цель - иметь возможность сделать что-то вроде следующего:
@GetMapping("/")
@PreAuthorize("hasRole('User')")
public String getSample(Principal principal) {
log.info("Get Request");
return "Hello";
}