Wie Sie automatisch melden Sie sich als Benutzer mit Spring Security, ohne zu wissen, Ihr Passwort?
Meine Anwendung verwendet, Spring Security, und mein Kunde verlangt:
- Benutzer werden in der Lage, automatisch einloggen nach der Anmeldung.
- einen admin-login, da jeder Nutzer, ohne zu wissen, Ihr Passwort.
Also muss ich herausfinden, wie login, da jeder Nutzer automatisch, ohne zu wissen, Ihr Passwort.
Wie kann dies erreicht werden mit Spring Security.
InformationsquelleAutor Brad Parks | 2012-08-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu bekommen dies funktioniert, hatte ich zu:
Konfigurieren Sie einen Verweis auf die UserDetailsService (jdbcUserService)
Autowire meine userDetailsManager in meinem controller:
In den gleichen controller, authentifizieren meine Benutzer-wie so:
Beachten Sie, dass eine gute Vorstufe zur einfachen Verwendung von spring security für Ihre app finden Sie hier.
Dies war die einzige Möglichkeit, die ich gefunden, um "logging in als Benutzer, ohne zu wissen Ihr Passwort" zu arbeiten... ich bin nicht die an diesem Projekt arbeiten mehr, aber denke, dass die docs gelesen werden könnte, da "dieser Konstruktor sollte nur verwendet werden, durch den code, der zufrieden ist mit der Herstellung einer vertrauenswürdigen (d.h. isAuthenticated() = true) Authentifizierungs-token"... wenn du einen besseren Weg finden, auf jeden Fall hier posten!
In meinem spring security integriert extjs-Anwendung funktioniert das nur für mich nach dem Austausch der vorhandenen spring security-Kontext-Taste in der Sitzung mit der neu authentifizierte Sicherheitskontext.
request.getSession().setAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY, SecurityContextHolder.getContext());
InformationsquelleAutor Brad Parks
für das zweite problem
sollten Sie die Option user-feature von spring. javadoc und Artikel
InformationsquelleAutor Jigar Parekh
Dies ist die Antwort auf obige Frage
In Controller:
Weiter oben beschriebenen Methode im controller definiert ist als:
Anderen Antworten nicht vorschlagen, um es mit try/catch, damit man nicht erkennen, warum die Logik funktioniert nicht als code ausgeführt...und nichts ist es weder ein Fehler oder eine exception auf der Konsole. Also, wenn Sie nicht setzen Sie es in versuchen, Sie zu fangen nicht bekommen, Ausnahme bad-Anmeldeinformationen.
InformationsquelleAutor Yogesh Devgun