DFS Kerberos 認証に必要なトークンを取得するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3613596

質問

DFS (Documentum Foundation Services) を使用するクライアントを作成し、シングル サインオンに Kerberos を使用しようとしています。ドキュメント内の Java と C# のサンプル コード (生産性レイヤー) には、Kerberos バイナリ トークンを取得する次の行が含まれています。

byte[] チケット = ...

やり方がわかりません 実際にバイナリトークンを取得します, 、「...」は役に立ちません。Java または C# を使用して実際のチケット (Kerberos トークン) を取得する方法を知っている人はいますか?

Java と C# の両方の例を次に示します。

ジャバ:Kerberos 認証を使用したサービスの呼び出し

KerberosTokenHandler handler = new KerberosTokenHandler();
IObjectService service = ServiceFactory
.getInstance().getRemoteService(..., contextRoot, Arrays.asList((Handler) handler));
byte[] ticket = ...;
handler.setBinarySecurityToken(
new KerberosBinarySecurityToken(ticket, KerberosValueType.KERBEROSV5_AP_REQ));
service.create(...)

C#:Kerberos 認証を使用したサービスの呼び出し

KerberosTokenHandler handler = new KerberosTokenHandler();
List<IEndpointBehavior> handlers = new List<IEndpointBehavior>();
handlers.Add(handler);
IObjectService service = ServiceFactory
.Instance.GetRemoteService<IObjectService>(..., contextRoot, handlers);
byte[] ticket = ...;
handler.SetBinarySecurityToken(
new KerberosBinarySecurityToken(ticket, KerberosValueType.GSS_KERBEROSV5_AP_REQ));
service.create(...);
役に立ちましたか?

解決

私は、.NETのこのアウトを考え出し、多分興味がある人のために共有したいと思います。必要なのはWSE3ライブラリです。 Kerberos委任のためのあなたのDFSサービスアカウントを設定することを確認します。

だから、何をする必要があることはKerberosトークンを使用してKerberosTokenHandlerに設定されています。 KerberosBinarySecurityTokenはWSE3から来ています。コードは次のようになります:

KerberosTokenHandler kerberosTokenHandler = new KerberosTokenHandler();

String servicePrincipalName = “DFS/example66”;  // this is the service principal name for your DFS service account in Active Directory.
using (KerberosClientContext kerberosClientContext = new KerberosClientContext(servicePrincipalName, true, ImpersonationLevel.Delegation))
{
      KerberosBinarySecurityToken token = new KerberosBinarySecurityToken(kerberosClientContext.InitializeContext(), KerberosValueType.KERBEROSV5_AP_REQ);
      kerberosTokenHandlerandler.SetBinarySecurityToken(token);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top