Как реализовать аутентификацию в JSF у Glassfish? - PullRequest
2 голосов
/ 03 апреля 2012

У меня есть встроенный сервер Glassfish и небольшое веб-приложение. Я хочу добавить логин-аутентификацию. Проблема: все учебники, которые я нашел до сих пор, говорят о том, чтобы перейти на консоль администратора glassfish на 4848 портах и ​​настроить там область jdbc. Можно ли сделать это, используя XML-файлы, такие как web.xml , glassfish-resources.xml и предоставить им мою войну. Было бы неплохо сделать мое приложение полностью переносимым. Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Вы думали о том, чтобы просто создать безопасную форму для ввода имени пользователя / пароля и затем просто проверить их в вашей БД?

0 голосов
/ 03 апреля 2012

В соответствии со спецификациями Java EE 6 (и в руководстве по Java EE 6 глава Обзор безопасности Java EE ):

Безопасность компонентов обеспечивается их контейнерами

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

Теоретически, есть способ достичь своей цели, но он очень сложный, и в конце концов он даже не полностью независим от контейнеров. Этот способ заключается в разработке собственной JAAS (службы аутентификации и авторизации Java) и ее развертывании в контейнере перед развертыванием приложения.

Дополнительную ссылку вы можете найти в этом Учебном пособии по JAAS , из которого я извлекаю следующие строки, поясняющие концепцию, которую я кратко изложил выше:

Безопасность на уровне системы определяется в терминах групп пользователей, называемых Роли, и с точки зрения определения соответствия привилегий безопасности, называется Realms. Безопасность на уровне приложений состоит из групп пользователей и Realms.

На уровне приложения в разрешениях безопасности также перечислены различные компоненты приложения, доступные каждой группе пользователей в каждом Царстве. Таким образом, когда приложение развернуто, его приложение уровни и роли уровня сопоставляются с областями и ролями уровня системы определено на сервере.

...