Аутентификация Glassfish: область может быть внешней базой данных - PullRequest
2 голосов
/ 02 февраля 2010

Я совершенно новичок в концепциях входа в систему и аутентификации.Я работаю над веб-приложением Glassfish, которое должно предоставлять общий контент любому посетителю, а также некоторый дополнительный контент для зарегистрированных пользователей, вошедших в систему с именем пользователя и паролем.

Я читал учебник по Java EE по безопасности иЯ подумал, что аутентификация на основе форм или HTTP будет соответствовать моим потребностям (у посетителя запрашиваются учетные данные при попытке просмотра защищенного содержимого).

Однако я сначала предположил, что зарегистрированные пользователи должны храниться ввнешняя база данных вместе с их хешированным и соленым паролем.Безопасность веб-приложения в Glassfish, похоже, зависит от области, заполненной вручную непосредственно на сервере приложений (определение пользователя и групп и сопоставление их с ролями в приложении).

Неужели я неправильно понял, что такое безопасность на Glassfish?намерен?Или область может быть внешней базой данных вне сервера приложений?Любая ссылка на документацию по этой теме была бы мне полезна.

Заранее спасибо

Пирог

Ответы [ 2 ]

1 голос
/ 04 февраля 2010

Это действительно возможно.В Glassfish перейдите в раздел «Конфигурация / Безопасность / Королевства», создайте новую область и задайте имя класса com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm.Укажите ресурс JDBC, связанный с базой данных, и укажите таблицу и столбцы, в которых хранятся имя пользователя / пароль.База данных также должна содержать таблицу для групп, к которым пользователь должен принадлежать, чтобы получить доступ.Укажите их также.

В приложении настройте web.xml и sun-web.xml с именем области как обычно.

0 голосов
/ 06 февраля 2011

Вот статья о мире jdbc в glassfish с описанным вами сценарием: http://java -cookbook.blogspot.com / 2011/02 / jdbc-security-realm-with-glassfish-and.html

...