2013-10-07 2 views
5

Просто для учебных целей я хочу использовать SSL в приложении, которое я разработал в своей локальной среде.Как использовать HTTPS с Glassfish 4 и JSF 2.2?

Поэтому я хочу, чтобы все мои подключения проходили через ssl.

Как я могу реализовать это с помощью Glassfish 4.0?

ответ

0

Перейдите в Консоль администратора Glassfish, а затем Настройки сервера -> Слушатели сети. Там вы можете настроить прослушиватели на использование SSL. По умолчанию три слушателя, 4848 для консоли администратора, 8080 для общего прослушивания HTTP и 8181 для защищенного прослушивания HTTP. Есть несколько вещей, которые вы можете сделать здесь

  • Чтобы включить SSL для слушателей или редактирования Listener вариант проверки безопасности

  • Чтобы отключить слушателей снимите

  • На вкладке SSL заполнить информацию SSL

+0

Можете ли вы дать более подробную информацию? –

+0

@KorayTugay ответ обновлен – fareed

+0

Документация находится здесь: http://docs.oracle.com/cd/E26576_01/doc.312/e24928/http_https.htm#ggnfu –

3

Ниже приведен пример использования аутентификации формы JAAS:

на web.xml этот блок кода определяет, что URL-адресов будет 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 с зашифрованными паролями MD5 в таблице пользователя, называемой «TB_USER», вместе с именами групп групп. Вы можете создать свою собственную область аутентификации, это может быть файл, jdbc или другой тип JAAS (см. Документ JAAS для каждого конкретного).

Теперь любые запросы для вашего приложения должны использовать SSL.

Glassfish перенаправляет на порт SSL (по умолчанию 8181), и ваш браузер будет отображать окно предупреждения SSL-сертификата по умолчанию (в случае, если вы используете самозаверяющий сертификат), спрашивая, доверяете ли вы соединению и после принятия вы должны увидеть правильную страницу в режиме SSL - https

Смежные вопросы