Ich implementiere eine App mit Spring Security 3.0.2 mit OpenId Login und Registrierung. Ich kann mich erfolgreich anmelden, aber wenn der Benutzer nicht registriert ist, möchte ich Folgendes tun:
1) Holen Sie sich einige OpenId-Attribute wie E-Mail und Name.
2) Zeigen Sie dem Benutzer ein Registrierungsformular mit nur diesen zwei Feldern und der OpenId URI gefüllt.
Ich habe viel gesucht, aber ich habe keine "ellegante" Art gefunden, das zu tun. Ich frage mich, ob einige von Ihnen mit einer Lösung kommen können, um diese Strategie in meiner App zu implementieren.
Vielen Dank im Voraus.
Sie können die E-Mail und den Namen nicht anzeigen, bevor sich der Benutzer selbst registriert / angemeldet hat, da er der App zunächst erlauben muss, auf sein Profil zuzugreifen. Sie können ihm diese Seite mit seiner OpenID, Mail usw. zeigen nachdem er sich eingeloggt hat.
Definieren Sie, welche Attribute Sie verwenden möchten:
%Vor%Und dann auf die Attribute zugreifen, nachdem sich der Benutzer angemeldet hat:
%Vor%Sehen Sie sich die Beispiel aus dem Quell-Repository und OpenId Support-Dokumentation .
Das ist nicht im Frühjahr Sicherheit implementiert & lt; 3.1
Sie können jedoch eine Problemumgehung mit apectJ verwenden. Definieren Sie den folgenden Aspekt:
%Vor%und registrieren Sie es in Ihrer aop.xml:
%Vor%Dann können Sie in Ihrem UserDetailsService wie folgt auf die OpenID-Attribute zugreifen:
%Vor%Tags und Links spring authentication spring-security openid registration