2012-04-11 25 views
3

編集JavaでKerberosプロトコルの移行を実装する方法は? (S4U2自己)

今私は必要なものを知っています。私はJavaでKerberosプロトコルの移行(S4U2Self)を実装する必要があります。 .Netには例がありますが、Javaには例がありません。

このサードパーティライブラリQuest Single Sign on for Javaには、これを行うと主張されています。私はJARをダウンロードしましたが、それは良いようですが、私はむしろ、誰か他のコード(支払わなければならない)の代わりにカスタム実装を使用したいと思います。

何が必要なのか、誰にでも頭を貸すことはできますか?これを処理する既存のオープンJava APIはどれですか?現時点で

おかげ

質問は、私のアプリケーションは、ユーザーIDのみを知っている、と私は、ケルベロスとそのユーザを認証サービスチケットを作成し、第三者にアクセスするためにそれを使用する必要がありますサービス。

私のアプリケーションはプロキシのように動作する必要があり、提供されたユーザーIDの代わりにサードパーティのサービスにリクエストを送信する必要があります。これは、他のサードパーティのアプリケーションに制約があるためです。

どのような方法でも、指定されたユーザーIDのパスワードを取得することはできませんし、同じユーザーIDから(転送する)以前のサービスチケットを取得することもできません。私は知っている、管理者の資格情報。

ユーザーID(プリンシパル名)だけを使用してサービストークンを作成する方法はありますか。

信頼されたプリンシパルがすでに認証されており、他のプリンシパルのサービスチケットを要求している何らかの委譲ですか?

おかげ

+0

クライアントコードによってサードパーティのサービスにアクセスするにはどうすればよいですか?これはまさにWindows偽装のためのものなので、サービスがまだそれを使用するように書かれていない場合、私はあなたが多くの運を持っているとは思わない。私はS4Uがクライアント側で助けになるとは思わない。 _services_は、パスワードなしで、自分自身でのみ使用することができます(トークンは他のマシンでは使用できません)。 – shambulator

+0

ありがとうございます。サードパーティのサービスは、HTTPリクエストを通じてアクセスされます。彼らはクライアントコード(私のアプリケーション)が必要とする情報を返すSPIを持っています。このサービスはKerberos認証をサポートしていますが、要求を行っているユーザーによって異なる情報が返されるという問題があります。 – jmend

答えて

関連する問題