Аутентификация Glassfish: Может ли царство быть внешней базой данных

StackOverflow https://stackoverflow.com/questions/2185712

Вопрос

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

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

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

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

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

Пирог

Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top