尝试通过Kerberos连接到MongoDB时,MongoDB Java驱动程序失败,并显示以下错误:消息流已修改(41)

时间:2019-02-14 13:30:29

标签: java mongodb kerberos mongodb-java mongodb-java-3.8

我正在尝试使用MongoDB Java驱动程序连接到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是用于获取Kerberos的CallBackHandler的包装器。

我用于连接到MongoDB的shell命令成功完成,如下所示:

mongo --host hostname.mysite.com --gssapiHostName gssapihostname.mysite.com -authenticationMechanism=GSSAPI --authenticationDatabase='$external' --username mongodbuser1/hostname.mysite.com@MYSITE.COM

没有--gssapiHostName标志,该连接将不起作用。有什么方法可以通过MongoDB Java驱动程序传递GssAPIHostname,以便此连接可以成功?

0 个答案:

没有答案