Dokument referencyjny mówi, że adresy URL są dopasowywane w tej samej kolejności, co zadeklarowane, ale jeden zadeklarowany jako ostatni jest dopasowywany przed niektórymi zadeklarowanymi wcześniej.Rozkaz przechwytujący-url Spring Security 3.0
Oto moja deklaracja:
<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')" />
Próbuje dopasować, aby dla wszystkich filters="none"
, ale potem przeskakuje do ostatniego wzoru /**
. Adres URL taki jak /appname/ordersearch
zostanie przechwycony przez /**
zamiast **/ordersearch*
. Każdy pomysł, co robię źle?