gpt4 book ai didi

java - Glassfish 缓存 LDAP 密码

转载 作者:太空宇宙 更新时间:2023-11-04 08:56:32 26 4
gpt4 key购买 nike

我有一些 java 代码,允许用户重置存储在 LDAP 服务器上的密码。该代码作为在 Glassfish 上运行的 Web 应用程序的一部分运行。

我看到的问题是,在调用更改密码操作后,用户随后可以使用任一密码来访问应用程序。

我有一个直接针对 LDAP 服务器运行的单元测试,我可以验证密码是否确实更改,并且用户无法使用旧密码获得访问权限。问题不在 LDAP 服务器上。

我注意到,如果我在密码更改操作后重新启动 Glassfish,则只有新密码有效(如预期)。我猜测 Glassfish 正在某处缓存凭证。

我需要在 Glassfish(或者在我的 web.xml 中)中设置什么来实现

  1. 告诉 Glassfish 不要缓存 LDAP 凭据
  2. 重置 Glassfish 密码缓存

提前致谢......

更新仍然有这个问题。我还认为浏览器可能会存储这些信息,但事实似乎并非如此。我关闭浏览器 session ,两个密码在新 session 中仍然有效 - 即使使用不同类型的浏览器。顺便说一句 - 我不知道这是否重要,但这是 HTTP 基本身份验证。

更新我们还使用 Glassfish 中包含的单点登录功能。来自 this article ,看起来好像 session 与浏览器上的 cookie 绑定(bind)在一起,也许用户在 cookie 过期之前一直有效?看起来 cookie 似乎与 session 绑定(bind)在一起。越来越接近弄清楚这一点......

最佳答案

尝试将此属性添加到 LDAP 领域的附加属性中:

com.sun.jndi.ldap.connect.pool=false

关于java - Glassfish 缓存 LDAP 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2186249/

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