Как назначить пользователей на определенные роли EJB - PullRequest
1 голос
/ 24 декабря 2010

Мне нужно разъяснение здесь, пожалуйста.В настоящее время я изучаю EJB, и я читал об ограничении прав доступа к методам для пользователей в определенных «ролях».Я знаю, как работают метаданные для ограничения прав доступа.Но я не знаю, как поставить пользователей на соответствующие роли.Установлены ли роли пользователей в базе данных, и ejb входит в базу данных и проверяет роль (если да, то как)?Я имею в виду, где или как мне программно навязывать, что определенные пользователи принадлежат, например, к роли клиента или роли администратора?Если вы знаете какие-либо книги, вы также можете указать название, если хотите.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 марта 2011

Конфигурация пользователя зависит от сервера приложений.Безопасность в EJB - это только роли.Я использую Glassfish, и у него есть много способов настройки пользователей: файл (по умолчанию), jdbc, ldap и т. Д. Каждый способ называется областью.Все зависит от сервера, который вы используете, поэтому проверьте документацию.В Glassfish это немного утомительно из-за сопоставления ролей сервера и ролей приложения.

0 голосов
/ 24 декабря 2010

Существует несколько способов объявления ролей в приложении EJB (база данных, файлы свойств, LDAP ...).Кроме того, начиная с EJB 3.0, вы можете использовать аннотации в ваших сессионных компонентах:

@ RolesAllowed ("blabla")

@ PermitAll

@ DenyAll

@RunAs

Это называется декларативной авторизацией.В отличие от программной авторизации (методы getCallerPrincipal () и isCallerInRole () из объекта javax.ejb.SessionContext).

Вы можете найти много примеров в Интернете.

...