2012-01-13 231 views
7

我试图使用基于代码的配置的Spring安全框架,我正在遵循this教程。基于代码的Spring安全配置

我在初始化的过滤器下面的代码:

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

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

回答

19

更新

人们普遍认为这提供了一个项目:"Spring Security Java Config"。它被合并spring-security-config 12月16日,2013年

README.MD

Spring Security的Java配置,现在可以在弹簧安全配置,3.2.0.RELEASE +被发现为部分Spring Security发行。


原始

当前有没有简单的方法做的春季安全配置与Java配置。你必须知道命名空间在幕后做了什么,这使得它很难并且容易出错。出于这个原因,我会建议坚持使用Spring Security命名空间配置。

如果你真的想做java配置,你可以手动定义所有的bean。为此,您需要了解名称空间配置。第一个看的地方是卢克博客文章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配置的使用。

+0

谢谢。 Spring Security命名空间教程的背后有助于我理解使用基于代码的Spring Security配置是不可行的。框架创建了很多bean,所以使用它是没有用的。 – Quaiks 2012-01-13 18:50:47

+0

你可以投我的答案吗? – 2012-01-13 19:13:12

0

我最近抓了我自己的痒;能够以编程方式实例化安全过滤器。所以我把所谓的“夏季安全”放在一起。这是Spring Security的基本替代品。如果你只需要会话,形成登录/注销和http基本认证,它可以为你做的伎俩。

https://github.com/hencjo/summer-security

它在Maven的中央。