我遇到了在Glassfish 3.1.2的管理控制台上登录不同服务器上的四个相同(至少是理论上)配置域之一的问题。当我登录不能正常工作的那个时,我会被重定向到以下空白页面:
https:// {server}:{admin port} / j_security_check
附有此日志消息:
[#|2013-02-18T09:58:02.912-0500|SEVERE|glassfish3.1.2|org.glassfish.admingui|_ThreadID=20;_ThreadName=Thread-2;|javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed; javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed; restRequest: endpoint=https://localhost:9048/management/domain/anonymous-user-enabled attrs={} method=GET|#]
其他信息:
我启用了安全管理,并禁用了匿名用户。
我可以使用相同的用户/密码请求https:// {server}:{admin port} / management / domain并成功启动REST界面。请求/管理/域/启用匿名用户确实会触发相同的问题(空白页,记录的错误)。
我可以使用相同的用户/密码运行“asadmin -p {admin port}”并成功运行命令行命令。
我似乎记得在某一时刻向管理控制台试图从sun.com域上的服务器提取文件,SSL证书已过期,但我似乎无法找到我当时申请的解决方案。
我试图使用其中一台服务器上的cacerts.jks文件,但这没有帮助。
我在keystore.jks中的s1as证书的失效日期仍然是8年。
正确设置服务器上的日期/时间。
感谢您的任何建议。
史蒂夫
答案 0 :(得分:6)
当我启用"默认主体到角色映射"时,我发生了这种情况:
启用此功能并重新启动域后,我再也无法登录了。我不得不在domain.xml上更改以下行(域已停止):
<security-service default-principal-password="admin" activate-default-principal-to-role-mapping="true" default-principal="admin">
到此:
<security-service>
答案 1 :(得分:2)
可能是this bug report中描述的问题。
Anissa Lam在2011年3月3日写道:
In v2, you enable https by just simply enable security on the admin-listener.
In v3, you have to run the enable-secure-admin command, and then restart the server. Then you can access the console by https, and http will also be redirected to https.
%asadmin start-domain
%asadmin enable-secure-admin
%asadmin stop-domain
%asadmin start-domain
then launch GUI.
Please do the above and if you still have problem, reopen the bug. thanks
这是导致它的错误。
答案 2 :(得分:0)
您好,如果您从未找到解决此问题的方法。通过在WEB-INF文件夹中找到的glassfish-web.xml文件中添加以下行,我可以通过在我的应用程序中启用默认主体到角色映射设置来解决这个问题。
<security-role-mapping>
<role-name>roleName</role-name>
<group-name>groupName</group-name>
</security-role-mapping>
您可以根据应用程序中的内容相应地修改角色名称和组名称。 在撰写此答案时,所有Glassfish版本中仍然存在该错误。但我发现的一个观察结果是它没有出现在与netbeans IDE捆绑在一起的glassfish服务器中。