El documento de referencia dice que las URL coinciden en el mismo orden que las declaradas, pero una última declarada se compara con algunas de las declaradas anteriormente.Spring Security 3.0 intercept-url order
aquí está mi declaración:
<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')" />
Se trata de coincidir para que todo el filters="none"
, pero luego salta al último patrón /**
. Entonces, una URL como /appname/ordersearch
es interceptada por /**
en lugar de **/ordersearch*
. ¿Alguna idea de lo que estoy haciendo mal?