Java



             

Модель контроля доступа в JBoss. - часть 3


Указание JNDI имени домена контроля доступа делается в "vendor specific" файлах, т.е. файлах именно специфичных для JBoss-а. Для EJB компонент это файл jboss.xml (парный для ejb-jar.xml), например так:

jboss.xml

<?xml version="1.0"?> <jboss> <security-domain>java:/jaas/MySuperSecurityDomain</
security-domain> <enterprise-beans> ................<!-- ЗДЕСЬ ОПИСАНЫ БИНЫ --> </enterprise-beans> ................ <jboss>

Или для web-компонент это jboss-web.xml, таким образом:

jboss-web.xml

<?xml version="1.0"?> <jboss-web> <security-domain>java:/jaas/MySuperSecurityDomain<
/security-domain> </jboss-web>

Где "java:/jaas/MySuperSecurityDomain" - это JNDI имя настроенного вами "домена контроля доступа", с помощью которого будет проверяться идентификация и права доступа. ЧТО он обозначает, ГДЕ и КАК он настраивается, об этом поговорим немного позже. Пока достаточно знать, что таким образом мы "включаем" проверки контроля доступа на серверной части. Указание "домена" - это обычно единственные настройки, которые необходимо выполнить в двух указанных файлах. Указание "домена контроля доступа", просто сообщает серверу, каким "доменом" необходимо пользоваться для проверки доступа и что он находиться в JNDI под указанным именем.

Как только вы подключили "домен" в указанные файлы, то после сборки приложения и его деплоймента на сервер, доступ к методам бинов (авторизация) будет контролироваться подсистемой контроля доступа Jboss. Это также означает, что методам необходимо назначить (описать) "роли-права доступа " в файле-дескрипторе ejb-jar.xml бина. А также "раздать" (описать) эти "роли-права" пользователям. КАК это делается рассмотрим ниже.

Если вы НЕ назначили "роли" в файле-дескрипторе, то скорее всего при обращении к методам бина увидите в логе сообщение, что права доступа не назначены для методов.




Содержание  Назад  Вперед