2010-05-19 20 views
5

Il documento di riferimento indica che gli url sono abbinati nello stesso ordine dichiarato, ma un ultimo dichiarato viene confrontato prima di alcuni di quelli dichiarati in precedenza.Ordine di intercettazione primavera 3.0 3.0

Qui è la mia dichiarazione:

<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')" /> 

Si cerca di far corrispondere in modo che tutta la filters="none", ma poi salta all'ultima modello /**. Quindi un URL come /appname/ordersearch viene intercettato da /** anziché da **/ordersearch*. Qualche idea su cosa sto facendo male?

risposta

3

**/ordersearch* non corrisponde a /appname/ordersearch, è necessario /**/ordersearch*.