7

我正在尝试将 Spring Security 框架与基于代码的配置一起使用,并且我正在关注教程。

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

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

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

4

2 回答 2

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 配置。您可能还会发现Spring Security 3.1 入门的最后一部分很有用,因为它演示了 Spring Security scala 配置的使用。

于 2012-01-13T14:51:02.237 回答
0

我最近挠了自己的痒;能够以编程方式实例化安全过滤器。所以我把我称之为“夏季安全”的东西放在一起。它是 Spring Security 的基本替代品。如果您只需要会话、表单登录/注销和 http 基本身份验证,它可以为您解决问题。

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

它在 Maven 中心。

于 2013-01-01T15:08:53.847 回答