2

ActiveDirectoryクライアントとサービスでGSSAPIを使用してサンプルの資格情報委任プログラムを試しています。を使用するcontext.requestCredDeleg(true)と、チェックするcontext.getCredDelegState()と、コンテキストが確立される前にクライアント側でtrueが返されます。しかし、コンテキストの確立後、中間サーバー側で資格情報の委任状態を確認すると、falseが返されます。

ユーザーに「このユーザーを任意のサービスへの委任のために信頼する(Kerberosのみ)」を設定しました。また、[アカウントは機密情報であり、委任できません]フィールドは、ActiveDirectory管理センターのユーザーのプロパティでオフになっています。同じことがサービスユーザープロパティにも適用されています。Kerberosドメインの一部である同じコンピューターでクライアントとサーバーの両方を実行しています。そのコンピューターのプロパティについても、ActiveDirectory管理センターで委任が許可されています。

以下を参照として使用しました:クライアントサーバープログラムソース:http ://docs.oracle.com/javase/1.4.2/docs/guide/security/jgss/tutorials/BasicClientServer.html

クレデンシャル委任ドキュメント:http ://docs.oracle.com/javase/1.4.2/docs/guide/security/jgss/tutorials/MoreToDo.html#DelCr

サンプルのクライアントサーバーは正常に動作していますが、クレデンシャルの委任を実行できないのは私だけです。

4

1 に答える 1

2

私は解決策を見つけました(同じ問題に直面している誰かを助けることを願っています):

krb5.ini ファイルで、[appdefaults] ではなく [libdefaults] セクションで forwardable = true を設定する必要があります。

于 2013-01-29T09:26:26.227 に答える