仅用于学习目的,我想在我的本地环境中开发的应用程序中使用SSL。如何在GlassFish 4和JSF 2.2上使用HTTPS?
所以我希望我所有的连接都通过ssl。
我如何在Glassfish 4.0中实现这个功能?
仅用于学习目的,我想在我的本地环境中开发的应用程序中使用SSL。如何在GlassFish 4和JSF 2.2上使用HTTPS?
所以我希望我所有的连接都通过ssl。
我如何在Glassfish 4.0中实现这个功能?
导航到Glassfish管理控制台,然后导航到服务器设置 - >网络监听器。在那里你可以设置听众使用SSL。默认情况下,有三个监听器,4848用于管理控制台,8080用于一般HTTP监听,8181用于安全http监听。有几件事情,你可以在这里做
要启用监听器或编辑侦听器SSL检查安全选项
要禁用听众取消
在SSL选项卡上填写的SSL信息
以下是使用JAAS表单身份验证的示例:
web.xml上的代码块定义的网址是什么启用了SSL:
<login-config>
<auth-method>FORM</auth-method>
<realm-name>userauth</realm-name>
<form-login-config>
<form-login-page>/login.jsf</form-login-page>
<form-error-page>/loginError.jsf</form-error-page>
</form-login-config>
</login-config>
<security-constraint>
<display-name>ConstraintSSL</display-name>
<web-resource-collection>
<web-resource-name>protected</web-resource-name>
<description/>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>HEAD</http-method>
<http-method>PUT</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
现在你的应用服务器(GlassFish中)在这个例子中配置您的身份验证领域“USERAUTH”:
create-auth-realm --classname com.sun.enterprise.security.ee.auth.realm.jdbc.JDBCRealm
--property jaas-context=jdbcRealm:datasource-jndi=oracleXE10gJDBCResource:user-
table=TB_USER:user-name-column=ID_USER:password-column=PASSWORD:group-
table=TB_USER_GROUP_USER:group-name-column=ID_GROUP:group_table_user-name-
column=ID_GROUP:digest-algorithm=MD5 userauth
在此示例中,我创建了一个基于JDBC的领域,并在用户表上创建了名为“TB_USER”的MD5加密密码以及组表名。您可以创建自己的身份验证领域,它可以是文件,jdbc或其他JAAS类型(请参阅每个特定的JAAS文档)。
现在,您的应用的任何请求都应使用SSL。
Glassfish将重定向到SSL端口(默认8181),并且您的浏览器将显示默认的SSL信任证书警报窗口(如果您使用自签名证书),询问您是否信任该连接,并接受您应该看到页面在SSL模式下正确呈现 - https
您能否提供更多详细信息? –
@KorayTugay答案已更新 – fareed
文档位于:http://docs.oracle.com/cd/E26576_01/doc.312/e24928/http_https.htm#ggnfu –