Ich benutze feder Sicherheit meiner Web zu sichern, wenn ich es durch feder roo erzeugte Konfigurationsdatei in application-security.xml, in <http>
Knoten lerne:Spring-Sicherheit kann nicht übereinstimmen "? Parameter" -Format?
<intercept-url pattern="/userses?form" access="hasRole('ROLE_ADMIN')" />
Es bedeutet, wenn Sie erstellen möchten ein Benutzerobjekt, zuerst müssen Sie sich anmelden, um ADMIN Erlaubnis zu erhalten. Aber eigentlich hat es nicht funktioniert. Überprüfen Sie das Protokoll:
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'
Das Framework verwenden, um die/userses statt/userses mit vergleichen bilden, übersprungen Authentifizierungsprozess als String stimmen nicht überein. Um dies zu überprüfen Ich versuche auch eine andere URL:
<intercept-url pattern="/userses/abc" access="hasRole('ROLE_ADMIN')" />
Ich bat die/userses/abc, erkannt Benutzer nicht autorisiert ist, und bewegt/Login-Seite, das Protokoll überprüft:
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'
So meine Frage ist: Unterstützt nicht 3-Unterstützung "? Parameter" Muster oder ich verpasste etwas zu konfigurieren, um dies zu unterstützen? PS: Der gesamte Code wird von roo ohne Änderung erzeugt, auch wundern Sie sich, warum es nicht funktioniert.
Vielen Dank für Ihre Antwort. Eine andere Frage, ich denke, vielleicht kennst du die Antwort. Die @Secure-Methode hat bei mir nicht funktioniert. Ich habe -Tag hinzugefügt und die pom.xml modifiziert, um die Abhängigkeit zu erfüllen. Über der Methode im Controller habe ich @Secured ("ROLE_ADMIN") hinzugefügt. Aber egal welche Rolle jeder hat, irgendetwas falsch? @Secured ("ROLE_ADMIN") @RequestMapping (Wert = "abc", Methode = RequestMethod.GET, erzeugt = "text/html") public Zeichenfolge create() { return Users.getString(); // myCreate (); } –
JerryCai
@JerryCai Vielleicht sollten Sie eine neue Frage aufschlagen. Es ist schwierig, Code in den Kommentaren zu lesen, und es wird anderen mit dem gleichen Problem helfen, wenn sie es als eigenständige Frage zu SO finden. –
Ok, ich werde das tun, danke. – JerryCai