首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Security -如果外部身份验证失败/不存在,则有条件地使用form-login

Spring Security -如果外部身份验证失败/不存在,则有条件地使用form-login
EN

Stack Overflow用户
提问于 2012-10-18 22:51:22
回答 2查看 2.1K关注 0票数 1

我需要的设置是一个(启用了spring安全的) webapp,它可以进行预身份验证(使用pubcookie),也可以启用"dev“模式,这样我就可以忽略pubcookie并显示登录表单。当然,开发模式在生产中会被关闭,在那里应用程序将位于运行mod_pubcookie的Apache后面,但对于开发/QA,我并不真正需要外部身份验证机制。

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

我的问题是:这可以在spring安全XML文件中配置吗,或者我需要把它放到代码中吗?(我该怎么做呢?)

谢谢,

D。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-18 23:24:46

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

如果您发现REMOTE_USER和dev-mode处于打开状态,则在安全上下文保存器中设置身份验证。

有关实现自定义过滤器的信息,请参阅link

票数 2
EN

Stack Overflow用户

发布于 2012-10-21 23:44:14

好的,我所做的就是使用Spring Profiles为"dev“和"prod”创建两个单独的配置文件,其中我使用了不同的http和身份验证管理器元素。

springsource的这篇博客文章帮助很大:

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

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

代码语言:javascript
复制
<context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>dev</param-value>
</context-param>

D。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12957495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档