2010-05-19 8 views
5

Das Referenzdokument sagt URLs übereinstimmen in der gleichen Reihenfolge wie deklariert, aber eine der zuletzt deklariert wird vor einigen der zuvor deklariert.Spring Security 3.0 intercept-url Auftrag

Hier ist meine Erklärung:

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

Es wird versucht, um für die ganze filters="none", passen aber dann springt auf das letzte Muster /**. Eine URL wie /appname/ordersearch wird von /** anstelle von **/ordersearch* abgefangen. Irgendeine Idee, was ich falsch mache?

Antwort

3

**/ordersearch* stimmt nicht überein /appname/ordersearch, benötigen Sie /**/ordersearch*.