Включение Spring Security без AbstractSecurityWebApplicationInitializer - PullRequest
0 голосов
/ 03 мая 2019

У меня есть веб-приложение на основе Spring (не Spring boot), и я пытаюсь включить Spring Security.

Я могу включить его, расширив AbstractSecurityWebApplicationInitializer, и он отлично работает.Однако я хочу сделать это, используя @EnableWebSecurity, без расширения AbstractSecurityWebApplicationInitializer.Но эта аннотация сама по себе не может ее включить.Есть ли способ добиться этого или это решение с одной аннотацией работает только для Spring Boot?

Спасибо.

1 Ответ

1 голос
/ 03 мая 2019

В среде без загрузки вы, вероятно, используете класс инициализатора сервлета-диспетчера, например, расширяющий AbstractAnnotationConfigDispatcherServletInitializer.Вы можете зарегистрировать цепочку фильтров безопасности следующим образом:

private static void initSecurityFilter(ServletContext servletContext) {
   FilterRegistration.Dynamic securityFilter = servletContext.addFilter("springSecurityFilterChain",
                DelegatingFilterProxy.class);
   final EnumSet<DispatcherType> es = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD);
   securityFilter.addMappingForUrlPatterns(es, true, "/*");
}

и вызвать ее с onStartup.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...