gpt4 book ai didi

Java Tomcat LDAP 身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:01 24 4
gpt4 key购买 nike

因为我运行 Java 和 Tomcat6 作为 servlet 容器,我发现使用 Tomcat JNDIRealm feature 是合适的这样 LDAP 用户就可以登录我的网站而无需任何额外的努力。我使用的 LDAP 服务器是 OpenLDAP on Ubuntu .

最重要的是,我有使用 form-based authentication 的登录页面在https connection .

我发现了两个非常好的通过 LDAP 验证用户的例子,herehere ,这两者都实现了我认为我几乎实现的目标。为什么几乎达到了?

当我尝试使用错误的凭据登录时,我被适本地发送到 <form-error-page> , login-failed.html就我而言。

当我的凭据良好且身份验证成功时,我开始为网站中的所有网址获取 403。除非我重新启动 Tomcat,否则我无法删除 403 错误(即使是登录页面也不行!)。

我怀疑是因为我没有 roles在正确设置的领域或其他配置文件中。为了简洁起见,我将相关配置文件摘录放在 pastebin 上。 :

请注意,基于 Tomcat 的身份验证工作完美,因为角色很容易附加到 tomcat-users.xml 中的用户。 .因此,我认为一旦成功通过身份验证,从 LDAP 获取经过身份验证的用户的角色就会出现问题。

TL/DR

我在将 Tomcat 连接到 LDAP 身份验证时遇到配置问题。正确获取了用户数据,但未正确获取用户的角色。可应要求提供 LDAP 日志消息;)

更新:我粘贴了 LDAP 数据 here .

最佳答案

没错。 JNDIRealm 未找到您的 LDAP 角色。您需要在 Tomcat 外部测试您的角色搜索字符串,以确保它产生您认为应该产生的结果。由于您尚未提供任何 LDAP 详细信息,因此无法进一步评论。

用/* 为整个站点设置安全权限是错误的。您需要排除登录页面,可能还有首页和忘记密码页面,也许更多,不需要角色。

关于Java Tomcat LDAP 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11198263/

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