Glassfish活动目录域认证偶尔会恢复为文件域认证

时间:2014-03-19 23:21:41

标签: authentication active-directory glassfish

我们正在运行Glassfish 3.1.2.2针对Active Directory域进行身份验证。身份验证在绝大多数情况下都能正常运行,但有时候,身份验证会突然对所有用户失败,我们会在服务器日志中看到这样的错误:

[#|2014-03-19T21:37:32.331+0000|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=1098;_ThreadName=Thread-2;|WEB9102: Web Login Failed: com.sun.enterprise.security.auth.login.common.LoginException: Login failed: Failed file login for jeff.|#] 

请注意,错误消息 file 登录失败。似乎Glassfish偶尔会恢复到文件领域而不是活动目录领域。

当出现此问题时,经过一段时间没有任何干预后,身份验证将突然再次启动Active Directory,用户将能够再次登录。

当我们将Glassfish配置为使用Active Directory时,Glassfish偶尔会针对文件域恢复身份验证的任何想法?我应该完全删除文件领域吗?

1 个答案:

答案 0 :(得分:0)

我终于确定了触发器。我们一直在将JVisualVM连接到Glassfish实例来监控性能。每次我连接JVisualVM(使用Glassfish管理员凭据通过JMX连接)时,Glassfish立即恢复使用文件领域而不是LDAP领域。我不知道为什么JVisualVM会在Glassfish中引起这种行为,但它始终可以重现。我发现的唯一解决方法是:

  1. 断开JVisualVM。
  2. 在Glassfish管理控制台中转至 - >配置 - > server-config - >安全
  3. 更改默认领域(除LDAP领域以外的任何内容),保存。
  4. 将默认域更改回LDAP域,保存。
  5. 客户端现在应该能够再次对LDAP进行身份验证。