При попытке подключения к MongoDB через Kerberos Java-драйвер MongoDB завершается с ошибкой: поток сообщений изменен (41) - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь использовать 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, чтобы это соединение могло быть успешным?

...