我需要的设置是一个(启用spring-security)webapp,可以预先验证(使用pubcookie)或启用“dev”模式,这样我就可以忽略pubcookie并显示登录表单。当然,开发模式将在生产中关闭,应用程序将位于运行mod_pubcookie的Apache后面,但对于dev / QA,我并不需要外部身份验证机制。
只有当(1)没有REMOTE_USER请求标头(意味着我们没有通过pubcookie)时,才会出现登录表单; AND(2)在属性文件中打开dev-mode。
我的问题:这可以在spring security XML文件中配置,还是需要将其纳入代码? (我该怎么做?)
谢谢,
d
答案 0 :(得分:2)
您可以编写自己的自定义过滤器,并在安全上下文中指定它。由于它是您的自定义过滤器,您可以从属性文件中获取请求对象和配置。
如果您发现了REMOTE_USER和dev-mode,则在安全上下文持有者中设置身份验证。
用于实施自定义过滤器,请参阅link
答案 1 :(得分: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来声明我的配置文件: / p>
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>
d