0
用户名/密码,我需要使用UNIX机器上的Kerberos调用使用Windows网络URL登录。我可以在窗口中使用useTicketCache = true,并且一切正常。我如何从unix框中执行此操作,并将用户/传递传递给我的java程序而不是使用票据缓存?如何使用Krb5LoginModule,并给它在UNIX
用户名/密码,我需要使用UNIX机器上的Kerberos调用使用Windows网络URL登录。我可以在窗口中使用useTicketCache = true,并且一切正常。我如何从unix框中执行此操作,并将用户/传递传递给我的java程序而不是使用票据缓存?如何使用Krb5LoginModule,并给它在UNIX
这不是你应该去的方式。人类本身应该在Windows登录时获得TGT。您访问TGT,然后从KDC获取服务票据。 如果您的UNIX安装程序不使用winbind的进行身份验证,所以您不必访问预填充凭据缓存,你有三种选择:
kinit
Username
和/或PasswordCallback
到new LoginContext
。我赞成1或2
第二个办法会喜欢这个工作,从Java:
Runtime.exec("kinit " + upn);
// Obtain the input stream of the forked process
is.write(password);
// Check exit code
现在,你在你的凭据缓存具有天然有效的TGT。 Java现在可以选择并请求进一步的服务票据。
感谢您的信息,是有办法,我可以打电话的kinit,并给它,我有我的krb5.ini文件中的信息?我需要root来做到这一点吗? –
是的,请参阅我的编辑。 –