Die Federsicherheit kann nicht mit dem Format "? Parameter" übereinstimmen.

Ich verwende spring-security, um mein Web zu sichern, wenn ich es durch die von spring-roo generierte Konfigurationsdatei in applicationContext-security.xml in lerne<http> Knoten:

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

Wenn Sie ein Benutzerobjekt erstellen möchten, müssen Sie sich zuerst anmelden, um die ADMIN-Berechtigung zu erhalten. Aber eigentlich hat es nicht geklappt. Überprüfen Sie das Protokoll:

<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>

Das Framework verwendet zum Vergleichen das Formular / userses anstelle von / userses ?, der Authentifizierungsprozess wurde übersprungen, da die Zeichenfolge nicht übereinstimmte. Um dies zu überprüfen, versuche ich auch eine andere URL:

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

Ich habe das Verzeichnis / userses / abc angefordert, es wurde festgestellt, dass der Benutzer nicht autorisiert ist.

<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>

Meine Frage ist also: Unterstützt spring-secure 3 nicht das "? Parameter" Muster oder ich habe etwas verpasst, das konfiguriert werden muss, um dies zu unterstützen? PS: Der gesamte Code wird von roo ohne Modifikation generiert. Fragen Sie sich auch, warum das nicht funktioniert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage