Java和系统用户身份验证

时间:2010-09-03 13:12:12

标签: java security authentication

我正在编写一个主要允许人们通过RMI向DRM系统(例如TORQUE)提交作业的服务器应用程序。应用程序需要以root身份运行,以便它可以提交代理作业(作业以非提交者的用户身份运行),但这显然不安全 - 用户名只是一个字符串参数RMI。任何人都可以传入任何用户名,并以该用户身份运行作业。

让Java对系统的授权用户验证此用户名的最佳方法是什么(借助于也会传入的密码)?我已经看过JAAS和Apache Shiro,但它们似乎都是关于创建自己的身份验证方法。我想使用系统现有的身份验证方法(类Unix系统),无论它们是什么。基本上如果用户可以通过SSH登录,他们就可以了。

1 个答案:

答案 0 :(得分:1)

如果您的后端使用LDAP(如果您必须管理本地/etc/passwd可能繁琐的相对大量用户,则可以使用LDAP),您可以使用JAAS和现有LdapLoginModule

如果你想在没有这个的情况下对你的本地系统(假设是Linux服务器)进行身份验证,看起来JAAS-PAM可能会有所帮助,尽管我从来没有尝试过。