2

以下の手順を実行して、ブラウザーからシングル サインオン認証用のセキュリティ トークンを取得します。

http ヘッダーからトークンを見つけることができます。私の質問は次のとおりです: a) このトークンを Active Directory で検証するにはどうすればよいですか? b) このトークンからユーザー名を見つけるにはどうすればよいですか?

グーグルで調べていると、Java APIには、私が期待していたことを行うためのKerberos5ログインモジュールがあるようです。しかし、ほとんどすべてのページに単純な例がありません。

  1. Web クライアントは、GET 要求で AS Java リソースにアクセスします。
  2. AS Java は、HTTP ヘッダー "WWW-Authenticate" を "Negotiate" に設定して SPNego 認証を開始する要求とともに、401 応答コード (無許可) を返します。
  3. Web クライアントは、AS Java ホストが Kerberos レルムのメンバーであることを認識し、KDC から AS Java の Kerberos クライアント/サーバー セッション チケットを取得します。
  4. 次に、Web クライアントは、Kerberos クライアント/サーバー セッション チケットを AS Java に送信し、HTTP 認証ヘッダーで SPNego トークンとしてラップします。
  5. SPNegoLoginModule は、HTTP 要求からトークンを読み取り、それを JDK の Kerberos 実装にフィードします。
  6. その結果、クライアント認証が成功するか、クライアント要求が拒否された場合や KDC への別のラウンドトリップが必要な場合に失敗します。障害が発生した場合、AS Java の Kerberos JDK 実装は、出力トークンを生成して Web クライアントに送り返します。出力トークンは SPNego トークンとしてラップされ、HTTP 認証ヘッダーで送信されます。

どんな助けでも大歓迎です。

4

2 に答える 2

4

長い間応答がありません。インターネット上のさまざまなサイトから自分で答えを見つけました。以下のリンクで私の経験を文書化しました: http://webmoli.com/2009/08/29/single-sign-on-in-Java-platform/

于 2009-09-04T01:42:25.190 に答える
1

これがオープンソースライブラリhttp://spnego.sourceforge.netで、これにはあなたがやりたいことのいくつかの例があります。

于 2009-11-16T11:22:03.463 に答える