Конфигурирование пользовательской области входа в систему и модуля на отдельной Glassfish через DAS - PullRequest
1 голос
/ 01 ноября 2011

У меня есть рабочая пользовательская область входа в систему (предоставленная сторонней организацией) для Glassfish 3.1.1. Я успешно развернул и настроил его через консоль администратора на одном экземпляре Glassfish на своей рабочей станции, поместив jar-файл loginmodule в папку domains / domainname / lib. Работает с веб-приложением и все.

Сейчас я пытаюсь развернуть приложение на более сложной установке. Рассмотрим следующие три сервера:

DAS: Admin server instance with domain

FRONT1: Standalone node instance configured through DAS

SERVICE1: Standalone node instance configured through DAS

Я поместил jar-файл loginmodule в папку node / front1 / lib (на сервере FRONT1). У меня есть отдельные конфигурации для каждого экземпляра на DAS с именами front1_config и service1_config. Я пытаюсь добавить новую область с помощью консоли администратора через Конфигурации -> front1_config -> Безопасность -> Области, но получаю следующую ошибку:

Web:

Creation of Authrealm custom-realm failed. java.lang.NullPointerException

Журнал сервера DAS:

[#|2011-11-01T14:22:18.258+0200|SEVERE|glassfish3.1.1|org.glassfish.admingui|_ThreadID=23;_ThreadName=Thread-2;|RestResponse.getResponse() gives FAILURE.  endpoint = 'https://localhost:4848/management/domain/configs/config/front1-config/security-service/auth-realm'; attrs = '{classname=com.mycompany.loginmodule.MyLoginRealm, name=custom-card, target=front1-config, property=}'|#]

Я подозреваю, что это может быть проблема с размещением файла loginmodule.jar. Или, может быть, исключение NullPointerException выдается из самого модуля входа в систему? Я пробовал множество подходов, даже копируя банку в glassfish / lib на FRONT1 и DAS, но, похоже, ничего не работает.

Я нахожусь в конце моего остроумия здесь.

РЕДАКТИРОВАТЬ: Я узнал немного больше. Я, кажется, скопировал jar loginmodule также в домен / lib серверов DAS. Когда я удалил оттуда jar-файл loginmodule, исключение NullpointerException не появилось, и я просто получил исключение ClassNotFoundException:

Creation of Authrealm custom-realm failed.
com.sun.enterprise.security.auth.realm.BadRealmException:
java.lang.ClassNotFoundException:
com.mycompany.loginmodule.MyLoginRealm not found by org.glassfish.security [117]

1 Ответ

0 голосов
/ 09 ноября 2011

Glassfish 3.x имеет функциональность по умолчанию для репликации некоторой (если не всей?) Конфигурации из домена / папки / имени домена / папки сервера DAS на серверы узлов.Я добавил конфигурации loginmodule jar и login.conf в домен / доменное имя / lib и domain / domainname / config сервера DAS и после перезапуска экземпляра FRONT1 из консоли администратора DAS в него были загружены правильный jar loginmodule и login.conf.сервер.Теперь модуль входа в систему работает по назначению.

Я до сих пор не уверен, является ли это абсолютно правильным или наиболее безопасным способом достижения этого в такой настройке, но, похоже, он работает.

...