簡體   English   中英

在沒有AbstractSecurityWebApplicationInitializer的情況下啟用Spring Security

[英]Enabling Spring Security without AbstractSecurityWebApplicationInitializer

我有一個基於Spring的Web應用程序(不是Spring Boot),並且正在嘗試啟用Spring Security。

我可以通過擴展AbstractSecurityWebApplicationInitializer來啟用它,並且效果很好。 但是我想使用@EnableWebSecurity做到這@EnableWebSecurity ,而無需擴展AbstractSecurityWebApplicationInitializer 但是僅此注釋不能啟用它。 有沒有辦法做到這一點,或者僅此注釋解決方案僅適用於Spring Boot?

謝謝。

在非引導環境中,您可能正在使用調度程序servlet初始化程序類,例如,擴展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調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM