OpenId-Authentifizierung und automatische Registrierung mit Spring Security 3.0.2

8

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.

    
xlluch 27.04.2010, 18:57
quelle

2 Antworten

5

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 .

    
dube 30.04.2010 22:09
quelle
0

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%     
Florian 20.11.2011 10:16
quelle