У меня есть приложение Spring Boot, которое предоставляет REST API.Все API защищены Spring Security.Я также добавил авторизацию метода, используя аннотацию @ PreAuthorize .
Для локальной разработки я хотел бы вообще отключить безопасность через конфигурацию или что-то в этом роде.Я хочу отключить как аутентификацию, так и авторизацию, чтобы я мог легко вызывать API без необходимости получать новый токен каждый раз, когда я хочу вызвать API.
Отключить аутентификацию легко, я просто добавил это в метод конфигурации и все хорошо.
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/api/**");
}
Но это вызывает AuthenticationCredentialsNotFoundException при попадании на конечные точки, которые я исключил из аутентификации, что имеет смысл.Это исключение исчезает только тогда, когда я удаляю аннотацию @ PreAuthorize , которую, очевидно, я не хочу делать всякий раз, когда собираюсь заняться какой-нибудь локальной разработкой.Кажется, просто имея аннотацию для методов, Spring AOP запускает и проверяет объект аутентификации в Spring Security Context, и нет способа отключить его, вместо удаления аннотаций.
Как заставить Spring полностью игнорировать @ PreAuthorize аннотаций?Я попытался удалить @ EnableGlobalMethodSecurity , но это не помогло с исключением.