2011-08-25 20 views
5

私はthis demoに続いて、spring securityとopenidを使ってログインを実装しています。openid spring securityでログイン中に登録

私はそれを実装し成功しています、しかし、春のセキュリティを使用して、私は一度ではOpenIDを介してレジスタやログインのサイクルを実装したいspring-security.xml

<security:user name="http://krams915.myopenid.com/" password="" authorities="ROLE_USER, ROLE_ADMIN" /> 

userserviceセクションで、ユーザーの詳細情報を提供する必要があります。自分のサイトにアクセスしたユーザーが以前に登録されていないため、ユーザーサービスにユーザー名を入力せずに進める方法は得られません。

助けや指導があれば助かります。

ありがとうございました。

答えて

6

スプリングセキュリティを使用したopenidサンプルには、attribute-exchangeタグを使用してOpenIdプロバイダからデータを取得するいくつかの例があります。これにより、特に新しいデータが入ってくる場合に、ユーザーに必要なデータ(または少なくともその一部)を取得させることができます。

この例のCustomUserDetailsServiceは、OpenIdを介して新しいユーザーが入ったときにアプリケーションで新しいアカウントを作成する方法の1つで、OpenId識別子をアプリケーション内の新しいユーザーアカウントにリンクします。

+0

あなたの答えをありがとう。しかし、それは正確にどのように動作すべきか解決策を提供しません。 [Here](http://blog.solidcraft.eu/2011/04/spring-security-by-example-openid-login.html)はうまく動作するソリューション全体です。 – user549757

+0

@user - そうですね。その例はベビー・ステップで実行されますが、実行中のコアはリンク先のSpring Securityの例と同じです。明らかに、属性交換とアプリローカルユーザーアカウントの作成を説明した特定のコードファイルにのみリンクしていましたが、リンク先のウォークスルーは春のセキュリティの例とほぼ同じです。 – cdeszaq

+0

このopenidのために、これはトリックでしたが、今はOAuthに続くFacebook、twitter、linked-inログインを統合したいと思います。これを両方とも統合することは可能ですか?はいの場合は、リンクを提供するか、それを行う方法を教えてください。私は[blogTrickl](http://blog.trickl.com/?tag=spring-social)を参照しましたが、これはあまり役に立ちませんでした.. – user549757

関連する問題