【发布时间】:2015-04-08 22:59:17
【问题描述】:
我正在尝试将 Spring Security v3.2 用于项目。目前我总是使用一个coldfusion文件来调用其他文件来构建视图。所以我所有的网址都通过index.cfm?blablah。
现在我坚持允许匿名用户进入主视图。跟着Spring Security request matcher is not working with regex,我编了这段代码:
<http use-expressions="true">
<intercept-url pattern="^.*index.cfm\?action=home.*$" access="permitAll" />
<intercept-url pattern="/root/index.cfm" access="isAuthenticated()" />
<intercept-url pattern="/**" access="isAuthenticated()" />
<form-login />
</http>
但无论我尝试什么,我总是输入登录字段。
【问题讨论】:
-
这很正常,你的规则说总是输入登录字段。看看你的最后一条规则。你有没有用 intercept-url 测试你的正则表达式?我想,为什么不呢,比如:
<http pattern="^.*index.cfm\?action=home.*$" security="none"/> -
自己发现后才看到你的答案。但是你还需要一个 request-matcher 属性,因为 request-matcher 默认是 'ant'。
标签: regex spring spring-security