У меня есть рабочая пользовательская область входа в систему (предоставленная сторонней организацией) для 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]