Zabezpieczenie sprężynowe nie może pasować do formatu „parametru”?

Używam spring-security do zabezpieczenia mojej sieci, kiedy uczę się jej przez plik konfiguracyjny wygenerowany przez spring-roo w applicationContext-security.xml, w<http> węzeł:

<code> <intercept-url pattern="/userses?form" access="hasRole('ROLE_ADMIN')" />
</code>

Oznacza to, że jeśli chcesz utworzyć obiekt Użytkownicy, najpierw musisz się zalogować, aby uzyskać uprawnienie ADMIN. Ale tak naprawdę to nie działa. Sprawdź dziennik:

<code>2012-05-06 11:39:11,250 [http-8088-7] DEBUG org.springframework.security.web.util.AntPathRequestMatcher - Checking match of request : '/userses'; against '/userses?form'
</code>

Ramy używają / userses zamiast / userses ?, aby porównać z procesem uwierzytelniania pominiętym, ponieważ łańcuch nie pasował. Aby to sprawdzić, spróbuję również innego adresu URL:

<code><intercept-url pattern="/userses/abc" access="hasRole('ROLE_ADMIN')" />
</code>

Poprosiłem / userses / abc, wykrył, że użytkownik nie jest autoryzowany i przeniósł się na stronę / login, sprawdził log:

<code>2012-05-06 11:46:44,343 [http-8088-7] DEBUG org.springframework.security.web.util.AntPathRequestMatcher - Checking match of request : '/uesrses/abc'; against '/userses/abc'
</code>

Więc moje pytanie brzmi: czy wiosna nie zabezpiecza 3 wzoru „?”, Czy też coś pominąłem w konfiguracji, żeby to obsługiwać? PS: Cały kod jest generowany przez roo bez modyfikacji, a także zastanawiam się, dlaczego nie działa.

questionAnswers(2)

yourAnswerToTheQuestion