gpt4 book ai didi

java - 使用 LDAP 验证特定请求的凭据

转载 作者:行者123 更新时间:2023-12-01 15:00:58 25 4
gpt4 key购买 nike

我有一个使用 JBoss 5.2 部署的 Web 应用程序。为了让用户使用该应用程序,他/她必须使用用户名和密码通过 LDAP 服务器进行身份验证(使用简单例份验证)。这一切都是通过设置login-config.xml来完成的。为 JBoss 并提供 <login-module>与我们的实现。

问题就在这里:登录后,我有一个场景,要求用户在执行特定操作时提供用户名和密码(我还将使用 LDAP 服务器进行身份验证)。我希望能够重用用于对 Web 应用程序中的用户进行身份验证的相同机制。

我的表单登录申请帖子到 j_security_check所以根据这个,我试图向 j_security_check 发送请求但 JBOSS 返回 404。通过阅读,我收集到 j_security_check不能通过任何任意请求访问,并且必须响应对安全资源的质询请求。

那么,如何验证用户使用同一 LDAP 服务器提供的第二组凭据?

编辑:

澄清一下,问题是如何将用户的凭据输入发送到 LDAP 服务器进行身份验证。抓取用户的输入等就全部完成了。剩下的就是获取此输入并将其发送到 LDAP 服务器并获取响应(这就是我陷入困境的地方)。

如果有帮助的话,Web 应用程序的登录使用扩展 UsernamePasswordLoginModule 的自定义类。

最佳答案

因此,经过大量研究,我最终找到了适用于 JBoss 环境的解决方案(这就是我正在使用的)。

捕获用户的凭据后,您可以通过 POST/GET 将它们发送到您的服务器,您的服务器可以执行以下操作以使用您配置的任何身份验证策略(在 login-config.xml ) 验证凭据:

WebAuthentication webAuthentication = new WebAuthentication();
boolean success = webAuthentication.login(username, password);

为了扩展这一点,我还可以通过 HttpServletRequest (传递到我的服务器端处理程序)检查用户的角色/组:

boolean userIsInRole = servletRequest.isUserInRole("nameOfGroup")

关于java - 使用 LDAP 验证特定请求的凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13656304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com