Spring Security 3.0拦截 - url命令

Eqb*_*bal 5 spring-security

参考文档说url按照与声明的顺序匹配,但最后声明的一个匹配在之前声明的一些之前.

这里是我的报关表:

<intercept-url pattern="/static/**" filters="none" />   
<intercept-url pattern="/login.jsp*" filters="none" />
<intercept-url pattern="/logout.jsp*" filters="none" />
<intercept-url pattern="/forgotpassword*" filters="none" />
<intercept-url pattern="/WEB-INF/jsp/forgotpassword*" filters="none" />     
<intercept-url pattern="**/ordersearch*" access="hasRole('ROLE_VIEW_ORDER_STATUS')" />
<intercept-url pattern="**/creditstatus*" access="hasRole('ROLE_VIEW_CREDIT_STATUS')" />
<intercept-url pattern="**/shop*" access="hasRole('ROLE_INTERNAL') and hasRole('ROLE_CREATE_SALES_ORDER')" />
<intercept-url pattern="/**" access="hasAnyRole('ROLE_INTERNAL','ROLE_EXTERNAL')" />
Run Code Online (Sandbox Code Playgroud)

它尝试按顺序匹配所有filters="none",但随后跳转到最后一个模式/**.所以URL就像/appname/ordersearch被截取/**而不是**/ordersearch*.知道我做错了什么吗?

axt*_*avt 3

**/ordersearch*不匹配/appname/ordersearch,你需要/**/ordersearch*