gpt4 book ai didi

java - 在没有 AbstractSecurityWebApplicationInitializer 的情况下启用 Spring Security

转载 作者:行者123 更新时间:2023-12-02 09:56:33 31 4
gpt4 key购买 nike

我有一个基于 Spring 的 Web 应用程序(不是 Spring boot),并且我正在尝试启用 Spring Security。

我可以通过扩展AbstractSecurityWebApplicationInitializer来启用它,它工作得很好。不过,我想使用@EnableWebSecurity 来完成此操作,而不扩展AbstractSecurityWebApplicationInitializer。但仅此注释无法启用它。有没有办法实现这一点,或者这个注释单独的解决方案仅适用于 Spring Boot?

谢谢。

最佳答案

在非 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调用它。

关于java - 在没有 AbstractSecurityWebApplicationInitializer 的情况下启用 Spring Security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55971789/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com