Ich möchte nur einem bestimmten Benutzer Zugriff auf ihre Änderungsseite erlauben.Benutzerdefinierte Methode in Spring Web Security
Zum Beispiel möchte ich Benutzer 3 die einzige in der Lage den Zugriff auf die URL:/user/3/bearbeiten
Dazu habe ich in meinem SecurityConfiguration.java gesetzt haben:
.authorizeRequests()
.antMatchers("/user/{id}/edit").access("@MyClass.checkId(#id)");
MyClass.java ist die folgende:
@Component
public class MyClass{
public boolean checkId(Long id) {
if(id == SecurityUtils.getCurrentUserId()){ //I have this configured and working
return true;
}
return false;
}
}
Doch wenn gehen sie auf die folgende uRL: user/4/bearbeiten angemeldet als Benutzer 3 (diese Beispiele sind), kann ich nicht scheinen, um die CheckId Methode, und nichts eingeben passiert, und mein Seite lädt mit allem drin.
Haben Sie eine Idee? Ist antMatchers.access() der Weg zu gehen?
Vielen Dank für Ihre Zeit!
Danke für die Antwort, obwohl dies eine Kopie zu sein scheint -Paste dieser Antwort: https://Stackoverflow.com/a/6634438/5749754, Wort für Wort, das ist nicht cool für nicht erwähnen es! Aber ich danke dir wenigstens, dass ich gefunden habe, wonach ich gesucht habe ... –