Java:自动登录到windows和linux

时间:2011-08-03 07:24:36

标签: java windows unix login

如何检查本地计算机的用户凭据? 例如,我有这个字符串: 用户名:用户 密码:pwd。

场景:尝试登录Windows或Linux。如果用户user / pwd存在,则方法应返回“true”。

我无法使用LDAP或数据库,但我只需要使用本地凭据......

这可能吗? 并且......如果可能的话,应该为申请提供适当的权利

2 个答案:

答案 0 :(得分:0)

您可能希望将JAAS Login utilityJAAS Authentication和J AAS Authorization一起使用。

似乎正在做你想做的事(如果我理解你的问题)。

答案 1 :(得分:0)

执行此操作的“正确”方法是尝试使用这些凭据登录。您无法从操作系统获取凭据,因为它们不是以明文形式存储的事件。

您可以通过多种方式登录计算机。在linux上你可以使用SSH。使用一个可用的Java SSH库(例如Jsh)。发送您的凭据,看看您是否登录。对于Windows也是如此,但您可以使用WMI。建议使用以下WMI库:JaWin,Jintegra,Jinterop。

可能Jinterop是最好的选择,因为它是免费的并且是纯粹的java实现,因此根据定义它是跨平台的:你可以在linux上运行并登录到远程windows机器。 Jintegra是一样但不是免费的。 JaWin是一个JNI包装器,因此应用程序必须在Windows上运行。