Spring安全正则表达式模式匹配器和'/'字符

时间:2015-02-02 16:15:30

标签: java regex spring spring-mvc

在我的春季安全配置中,我有

<http auto-config="true" use-expressions="true" path-type="regex">
...
<intercept-url pattern="/admin/*" access="hasRole('ROLE_ADMIN')" />

此模式匹配路径&#34; / admin&#34;同样,即使这个字符串不是由正则表达式产生的&#34; / admin / *&#34; (最后没有斜线)。这是为什么?我没有找到关于它的文档。正则表达式路径匹配是否具有像这样的其他特性? 我正在使用Spring Security 3.0。

修改 我显然是在误解&#34; &#34; for&#34;。&#34;。应该小睡而不是在这里问:)

1 个答案:

答案 0 :(得分:2)

正则表达式中的

*表示&#34;匹配前面的字符或更多次&#34;,所以你的正则表达式匹配字符串&#34; / admin&#34 ;

您可能希望使用+,这意味着&#34;匹配前一个字符一个或更多次&#34;。