私はSpringの新人であり、Javaの高度なプログラマーではありません。Spring Security 3.1でフォームベース認証を使用していて、UserDetailsオブジェクトに追加の属性を追加したい場合
私はスプリングセキュリティを使用しているプロトタイプを作成しています。 私はJSPフォームベースのユーザ認証を使用すると、アイデアは、後に、この認証方法は、OpenID認証に置き換えられるということである私のApplicationContext-のsecurity.xml
<security:http auto-config='true'>
<security:intercept-url pattern="/**" access="ROLE_USER" />
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<security:user-service>
<security:user name="foo" password="foo" authorities="ROLE_USER, ROLE_ADMIN" />
<security:user name="bob" password="bob" authorities="ROLE_USER" />
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>
でいくつかのダミーのユーザーを持っていますそれをシンプルに保つために。
私が必要としているのは、認証されたユーザー名を使用してユーザーが認証されたときです。私はデータベースのテーブルからユーザーの追加の詳細を取得し、Spring UserDetailsオブジェクトに入れたいので、常に利用できます。
私はこれまで研究してきたものは私がカスタムUserDetailsServiceを作成する必要がありますかスプリングの標準的な認証方法を使用していた場合、私は私のカスタムUserDetailsService
私の質問は作成する必要があるということですか? 私はちょうどデータベースからそれを読むいくつかの追加の詳細を保存したい。
私は多くの例を見てきましたが、どれもこの特定の問題に答えません。 私はこれらの技術に少し新しくなっています。私はコードスニペットをどのように結びつけるのか分からなくなってしまいます。正しい方向に私を指すように任意のヘルプは
おかげ
素晴らしい、それは私が探していたものです。私のような初心者のための非常に単純でストレートな例です。 認証プロセスをOpenIDに変更するともう1つのことを教えてください。このカスタム実装はなくなります。私はまだuserDetailsにいくつかの余分な属性を保存したいと思います。つまり、私はGmailなどのOpenIDサービスから認証されるのが好きです。認証が成功した場合、電子メールに基づいて、私は自分のデータベース内のローカルサーバを実行し、userdetails objにいくつかの余分な属性をロードします。それは可能ですか?またはこれを達成するための他の提案がありますか? – Mrinmoy
非常に似ています。 Spring SecurityコードベースのOpenIDサンプルコードを見てください。これは、OpenIDプロバイダから引き出された属性を持つカスタムの 'UserDetails'オブジェクトを使用します。いくつかのローカルJDBCコードを追加するのは簡単です。 –