我正在尝试编写一个客户端来使用 DFS(Documentum 基础服务)并尝试使用 Kerberos 进行单点登录。文档中的 Java 和 C# 示例代码(生产力层)都提供了获取 Kerberos 二进制令牌的以下行:
字节 [] 票 = ...
我不确定如何实际获取二进制令牌,并且“...”对我没有帮助。有谁知道如何使用 Java 或 C# 获取实际票证(Kerberos 令牌)?
以下是 Java 和 C# 的示例:
Java:使用 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(...);