我需要帮助配置GF3.1.2我已经做了以下更改,请告诉我,如果我遗漏任何重要的内容,因为更改后它不起作用。 我的身份证是nilesh2811@gmail.com
我在论坛中找不到任何特定的帖子或答案,如果有任何链接会有帮助。 如果您有任何相关文件,请转发。
请做必要的
的web.xml
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>Entire Application</web-resource-name>
<url-pattern>/faces/*</url-pattern>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>authorized</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-role>
<description/>
<role-name>authorized</role-name>
</security-role>
sun-web.xml中
<security-role-mapping>
<role-name>authorized</role-name>
<principal-name>admin</principal-name>
<group-name>authorized</group-name>
</security-role-mapping>
domain.xml中
<security-service>
<auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="admin-realm">
<property name="file" value="${com.sun.aas.instanceRoot}/config/admin-keyfile"></property>
<property name="jaas-context" value="fileRealm"></property>
</auth-realm>
<auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="file">
<property name="file" value="${com.sun.aas.instanceRoot}/config/keyfile"></property>
<property name="jaas-context" value="fileRealm"></property>
</auth-realm>
<auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate">
<property name="assign-groups" value="authorized"></property>
</auth-realm>
答案 0 :(得分:1)
您的web.xml中的login-config部分不完整
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>certificate</realm-name>
</login-config>
域名内容必须与domain.xml中auth-realm元素的name属性匹配,在您的情况下为“certificate”
[更新]
此外,必须在服务器的信任库
中导入CA证书${com.sun.aas.instanceRoot}/config/cacerts.jks
答案 1 :(得分:0)
当有人第一次尝试时,他们需要时间来理解,用简单的话说,客户端和服务器信任存储应该互相信任,首先最好使用自签名证书交换证书到服务器和客户,可以使用以下文章寻求简化步骤的帮助。按照文章,然后您可以使用自己想要的方法证书。
http://www.slideshare.net/krizsan/scdjws-5-study-notes-3085287
SCDJWS 5 或者现在知道 Oracle认证专家, Java EE 5 Web服务开发人员 学习笔记 通过 Ivan A Krizsan 版本:2012年2月23日
答案 2 :(得分:0)
实际上我尝试使用glassfish 3.1.2并且它在以下条件下工作:
1.我必须在同一位置使用jks类型的相同密钥(信任)存储。为了与其他证书格式交谈,您必须将它们转换为jks格式可以处理的格式。
2.在glassfish-web.xml中你应该有这样的映射
<security-role-mapping>
<role-name>manager</role-name>
<group-name>authorized</group-name>
</security-role-mapping>
3.在domain.xml文件中,您应该具有以下内容:
<auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate">
<property name="assign-groups" value="authorized"></property>
</auth-realm>
注意:在web.xml中,您必须具有与domain.xml文件匹配的域名
答案 3 :(得分:0)
我有同样的问题。
在“http-listener-2”中设置“客户端身份验证:true”。