我正在尝试使用基于代码的配置的Spring Security框架,我正在关注this教程。
我在过滤器的初始化程序中有以下代码:
FilterRegistration.Dynamic springSecurity = servletContext.addFilter("springSecurityFilterChain", new DelegatingFilterProxy());
springSecurity.addMappingForUrlPatterns(null,true,"/*");
我认为这是正确的,但我不知道如何在spring-security.xml
类中实现像@Configuration
一样的bean。
答案 0 :(得分:19)
<强>更新强>
有一个项目提供了这个:"Spring Security Java Config"。它于2013年12月16日合并到spring-security-config。
来自README.MD
:
Spring Security Java配置现在可以在spring-security-config-3.2.0.RELEASE +中找到,作为Spring Security发行版的一部分。
<强>原始强>
目前没有简单的方法可以使用Java配置进行Spring Security配置。您必须知道命名空间在幕后的作用,使其变得困难且容易出错。出于这个原因,我建议坚持使用Spring Security名称空间配置。
如果您真的想要进行java配置,可以手动定义所有bean。为此,您需要了解命名空间配置。首先要看的是Luke博客文章Behind the Spring Security namespace。如果你遇到困难,我会参考HttpSecurityBeanDefinitionParser
的源代码最后,如果您希望处于极其(不受支持的)前沿,您可能会考虑Spring Security Scala配置项目。请注意,此项目是一个侧面项目,尚未正式发布(我也不知道有任何计划在此时正式发布)。您可以在Spring Security Configuration with Scala博文上阅读有关它的详细信息。这也详细说明了Spring Security没有Java配置的原因。您可能还会发现Getting Started with Spring Security 3.1的最后一部分很有用,因为它演示了Spring Security scala配置的使用。
答案 1 :(得分:0)
我最近抓了自己的痒;能够以编程方式实例化安全筛选器。所以我把所谓的“夏季安全”放在一起。它是Spring Security的基本替代品。如果你只需要会话,表单登录/注销和http基本身份验证它可以为你做到这一点。
https://github.com/hencjo/summer-security
它在Maven Central。