Я пытаюсь написать клиент для использования DFS (Documentum Foundation Services) и пытаюсь использовать Kerberos для единого входа. Пример кода Java и C # (уровень производительности) в документации дает следующую строку, которая получает двоичный токен Kerberos:
byte [] ticket = ...
Я не уверен, как фактически получить двоичный токен , и "..." мне не помогает. Кто-нибудь знает, как получить реальный билет (токен Kerberos), используя Java или C #?
Вот примеры, приведенные как для 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(...);