基于代码的Spring安全配置

Qua*_*iks 7 spring-security spring-java-config

我正在尝试使用Spring Security框架和基于代码的配置,我正在学习教程.

我在过滤器的初始化程序中有以下代码:

FilterRegistration.Dynamic springSecurity = servletContext.addFilter("springSecurityFilterChain", new DelegatingFilterProxy());
springSecurity.addMappingForUrlPatterns(null,true,"/*");
Run Code Online (Sandbox Code Playgroud)

我认为这是正确的,但我不知道如何spring-security.xml@Configuration类中实现类似bean .

Rob*_*nch 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名称空间.如果你遇到困难,我会参考HttpSecurityBeanDefinitionParser的源代码

最后,如果您希望处于极其(不受支持的)前沿,您可能会考虑Spring Security Scala配置项目.请注意,此项目是一个侧面项目,尚未正式发布(我也不知道有任何计划在此时正式发布).您可以使用Scala博客文章在Spring Security Configuration上阅读有关它的详细信息.这也详细说明了Spring Security没有Java配置的原因.您可能还会发现Spring Security 3.1入门的最后一部分很有用,因为它演示了Spring Security scala配置的使用.