Wenn Sie sich in der Spring-Security-Umgebung anmelden, schlägt dies nur beim ersten Mal fehl und Sie werden ab dem zweiten Mal normal authentifiziert.
Die Methode zum Erstellen der Umleitungs-URL zum Selbstanmeldebildschirm war falsch.
Die folgenden Controller waren darauf vorbereitet, den eigenen Anmeldebildschirm anzuzeigen.
@Controller
@RequestMapping("/login")
public class LoginController {
@GetMapping
public String index(Optional<String> error) {
...
}
}
Als nächstes habe ich den folgenden Controller vorbereitet, um zu `/ login``` umzuleiten, als ich zu`
/ `` `kam.
@Controller
public class TopController {
@GetMapping("/")
public String index() {
return "redirect:" + MvcUriComponentsBuilder.fromMethodName(LoginController.class, "index", "").build().toUri().toString();
}
}
Diese Spezifikationsmethode ist jedoch falsch und die Umleitungs-URL wird zu "http: // localhost: 8080 / login? Fehler falsch". Einfach ausgedrückt dient diese URL zur Anzeige von Anmeldefehlern.
Wenn Sie zu dieser URL umleiten, wird zunächst der Anmeldebildschirm angezeigt. Übrigens hat Spring-Security eine Funktion namens "SavedRequest". Wenn vor dem Anmelden auf eine URL zugegriffen wurde, wird diese nach dem Anmelden zu dieser URL übersprungen. Die letzte URL in diesem Fall lautet "Anmelden? Fehler falsch" für Anmeldefehler. Aus diesem Grund wird bei erfolgreicher Anmeldung die URL des Anmeldefehlers übersprungen.
Die Verwendung von MvcUriComponentsBuilder wurde geändert.
return "redirect:" + MvcUriComponentsBuilder.fromController(LoginController.class).build().toUri().toString();
Ich habe die Beziehung zwischen `` `MvcUriComponentsBuilder``` und Optional
Recommended Posts