1

我需要的设置是一个(启用了弹簧安全性的)webapp,它既可以进行预身份验证(使用 pubcookie),也可以启用“开发”模式,这样我就可以忽略 pubcookie 并显示登录表单。自然,开发模式将在生产中关闭,应用程序将位于运行 mod_pubcookie 的 Apache 后面,但对于开发/质量检查,我真的不需要外部身份验证机制。

仅当 (1) 没有 REMOTE_USER 请求标头(意味着我们没有通过 pubcookie)时,才会出现登录表单;AND (2) dev-mode 在属性文件中打开。

我的问题:这可以在 spring security XML 文件中配置,还是我需要将它纳入代码?(我该怎么做?)

谢谢,

D.

4

2 回答 2

2

您可以编写自己的自定义过滤器并在您的安全上下文中指定它。由于它是您的自定义过滤器,您可以从属性文件中获取请求对象和配置。

如果您发现 REMOTE_USER 和 dev-mode on 然后在安全上下文持有者中设置身份验证。

要实现自定义过滤器,请参阅链接

于 2012-10-18T15:24:45.517 回答
0

好的,所以我所做的是使用 Spring Profiles 为“dev”和“prod”创建两个单独的配置文件,其中我使用了不同的 http 和 authentication-manager 元素。

springsource 的这篇博文帮助很大:

http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/

只需注意他说您可以在调度程序 servlet 的 init-param 元素中声明配置文件的位置 - 这对我不起作用,因此我使用 web.xml 中的全局上下文参数来声明我的配置文件:

<context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>dev</param-value>
</context-param>

D.

于 2012-10-21T15:44:14.033 回答