0

WSO2アプリケーションサーバーにデプロイされたWebアプリケーションのユーザーを既存の外部データベースに対して認証する必要があります。このためにWSO2IdentityServerを使用しようとしています。

ユーザーを含むdbテーブルには、ユーザー名を一意にする2つの列、clientidとusercodeがあります。つまり、usercodeはそれ自体では一意ではありませんが、clientid+usercodeは一意です。また、私たちのパスワードはPBKDF2でソルトされています。そこで、JDBCUserStoreManagerを拡張してデータベースと通信し、PBKDF2にパスワードを保存および取得できるようにしました。

しかし、ログインページから拡張JDBCUserStoreManagerへのクライアントIDを取得する方法がわかりません。つまり、カスタムJDBCUserStoreManager内から、ユーザーセッションに保存されているclientidにアクセスするにはどうすればよいですか?そこでのセッションからクライアントIDを取得できれば、SQLクエリでそれを使用して必要な処理を実行できます。

これを理解するのに助けがあれば大歓迎です。

4

1 に答える 1

1

ログインページで、ユーザー名として「clientid+usercode」の組み合わせを入力できます。次に、オーセンティケーターはその組み合わせをユーザー名としてカスタムユーザーストアマネージャーのdoAuthenticate()メソッドに渡します。そこで、クライアントIDとユーザーコードをユーザー名から分割できます。

于 2013-02-12T03:33:00.063 に答える