Что делает аннотация @EnableGlobalMethodSecurity?
В документации мало про это написано, но насколько я понял, она глобально включает security на методы, но в чем тогда разница между ней и @EnableWebSecurity?
Ответы (1 шт):
Автор решения: Komdosh
→ Ссылка
@EnableWebSecurity вам требуется если вы хотите написать конфигурацию HttpSecurity, WebSecurity, AuthenticationManagerBuilder.
@Override
public void configure(HttpSecurity http){
http.authorizeRequests().antMatchers("/public/**").permitAll().anyRequest()
.hasRole("USER").and()
.formLogin()
.permitAll();
}
@EnableGlobalMethodSecurity включает AOP для конкретных методов или классов с помощью аннотаций @PreAuthorized, @PostAuthorize и т.п.
@PreAuthorize("hasRole('ADMIN')")
public List<String> getUserPasswords() {
return userService.passwords();
}