Java和系统用户认证

标签 java security authentication

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

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

最佳答案

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

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

关于Java和系统用户认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3636058/

相关文章:

c - 缓冲区溢出返回地址有 00

支持多种登录的Python登录系统

Java ArrayList不同的对象相互扩展,如何了解我检索到的对象?

php - getmyfreetraffic redirect已经接管了我的网站

java - Apache Camel-消息重新传递发生在异常 block 执行之前

java - 比较java中的PublicKey对象

c# - ASP.NET MVC4 - 限制未登录用户的所有页面

node.js - Passport Node.js 本地身份验证不起作用

java - switch 语句中的值范围

java - Spring数据查询有条件吗?