Я пытаюсь использовать Java-драйвер MongoDB для подключения к Kerberos.Однако контекст входа в систему выдает следующую ошибку Message stream modified (41)
.
String loginContextName = "testlogincontext";
KerbCallbackHandler kcbh = new KerbCallbackHandler(username, password);
Subject subject = new Subject();
context = new LoginContext(loginContextName, subject, kcbh);
context.login();
Здесь KerbCallbackHandler
- это оболочка для получения CallBackHandler для Kerberos.
Команда оболочки, которую я должен использовать для подключения к MongoDB, успешна и имеет следующий вид:
mongo --host hostname.mysite.com --gssapiHostName gssapihostname.mysite.com -authenticationMechanism=GSSAPI --authenticationDatabase='$external' --username mongodbuser1/hostname.mysite.com@MYSITE.COM
Без флага --gssapiHostName соединение не работает.Есть ли способ передать имя GssAPIHostname через Java-драйвер MongoDB, чтобы это соединение могло быть успешным?