Настройка аутентификации

В сервере glassfish присутствует система realms, которые определяют policy domain для сервера. Настройка базовой аутентификации происходит в file realm. Для настройки необходимо:

1. Перейти в Server Config->Security->Realms->File и добавить в группы пользователей новую группу (Assign Groups) (рисунок 2).

При редактировании realm, можно указать следующие параметры:

JAAS Context – идентификатор для модуля логина, используемый данным realm.

Key File – полный путь и имя файла, где сервер хранит всех пользователей, группы и информацию о пароле для данного realm.

Assign Groups – добавить списки пользователей на realm.

Рисунок 2 – Добавление новой группы пользователей в File realm

2. Нажать на кнопку Manage Users и добавить пользователя, принадлежащего к созданной группе users (рисунок 3)

 При редактировании пользователей можно редактировать следующие параметры:

User ID – id пользователя.

Group List – группы, к которым принадлежит пользователь

New Password – новый пароль пользователя.

Confirm New Password – подтвердить пароль пользователя.

 

Рисунок 3 – Добавление нового пользователя File Realm

3. На консоли администратора во вкладке Security установить галочку напротив Enable Security Manager (рисунок 4).

Рисунок 4 – Security Manager Enabled

4. Перезагрузить сервер GlassFish

Конфигурация приложения

После настройки сервера следует настройка приложения. Для этого нужно открыть папку установленного на сервер приложения в …\glassfish\domains\имя_вашего_domain\applications\имя_вашего_приложения\WEB-INF\. В папке WEB-INF будут находиться файлы web.xml и sun-web.xml в которых будет проводиться дальнейшая конфигурация. Необходимо выполнить следующие настройки:

1. Открыть файл web.xml, который является дескриптором развёртывания и добавить необходимые параметры:

web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <security-constraint>

        <web-resource-collection>

               <web-resource-name>Simple Web Resource</web-resource-name>

               <url-pattern>/*</url-pattern>

               <http-method>GET</http-method>

       <http-method>POST</http-method>

        </web-resource-collection>

        <auth-constraint>

               <role-name>user</role-name>

        </auth-constraint>

  </security-constraint>

<login-config>

        <auth-method>BASIC</auth-method>

        <realm-name>file</realm-name>

  </login-config>

</web-app>

В дескрипторе развертывания находятся и были добавлены следующие параметры:

<?xml version="1.0" encoding="UTF-8"?> - заголовок, содержащий версию xml и кодировку.

<web-app></web-app> - тэг web-app задает пространство для описания параметров конфигурации приложения, а также задает версию XML схемы и синтаксис, которому она должна следовать.

<security-constraint></security-constraint> -тэг security-constraint используется для определения привилегий доступа коллекций ресурсов, используя их URL mapping.

<web-resource-collection></web-resource-collection> -тэг web-resource-collection определяет коллекцию вэб ресурсов, для которых происходит настройка.

<web-resource-name></web-resource-name> - тэг web-resource-name определяет имя вэб ресурса.

<url-pattern></url-pattern> -тэг url-pattern определяет указанный URL как защищенный.

<http-method></http-method> -тэг http-method определяет какие http  методы будут защищены. Для данного ресурса это POST и GET.

<auth-constraint></auth-constraint> -тэг auth-constraint определяет требования для аутентификации и имена ролей, которые будут иметь доступ к указанным URL.

<role-name></role-name> -тэг role-name определяет имя роли в auth-constraint.

<login-config></login-config> -тэг login-config описывает механизм аутентификации.

<auth-method></auth-method> - тэг auth-method определяет метод аутентификации. В данном случае используется BASIC.

<realm-name></realm-name> -тэг realm-name указывает на имя realm, который будет использоваться когда выбрана схема аутентификации.

 

2. Открыть файл sun-web.xml и добавить необходимые параметры.

sun-web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">

<sun-web-app error-url="">

<security-role-mapping>

<role-name>users</role-name>

<group-name>users</group-name>

</security-role-mapping>

</sun-web-app>

sun-web – файл дескриптора для имплементации специфических возможностей сервера. На более поздних версиях glassfish был заменен на glassfish-web. Он содержит следующие параметры:

<?xml version="1.0" encoding="UTF-8"?> - заголовок, содержащий версию xml и кодировку.

<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd"> - заголовок, обозначающий версию используемого сервера приложений и сервлета.

<sun-web-app error-url=""></sun-web-app> -тэг, определяющий специфиеческую конфигурацию для веб приложения Sun Java System Web Server.

<security-role-mapping></security-role-mapping> - соотносит роли к пользователям или группам пользователей в текущем realm.

<role-name></role-name> - имя роли.

<group-name></group-name> - имя группы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: