Java



           

Декларативное описание прав доступа в J2EE. - часть 2


Если вы еще НЕ настраивали ejb-jar.xml дескрипторы на работу с "контролем доступа", то скорее всего он выглядит приблизительно так:

<ejb-jar> ............. <enterprise-beans> ............. <!-- ЗДЕСЬ ОПИСАНЫ БИНЫ с именами:
EJB_1, EJB_2, EJB_3 --> </enterprise-beans> <assembly-descriptor> <container-transaction> ............... <!-- ЗДЕСЬ ОПИСАНЫ АТТРИБУТЫ
ТРАНЗАКЦИЙ --> </container-transaction> </assembly-descriptor><ejb-jar>

Т.к. нас интересует только часть <assembly-descriptor>, то остальную часть я приводить не буду.

ejb-jar.xml

................................. <assembly-descriptor> <security-role> <description>Права вызова ЛЮБЫХ методов
у EJB компонент модуля</description> <role-name>ManageObjects</role-name> </security-role> <security-role> <description> Права вызова методов поиска
(findAll, findByPK, getFullObject) EJB компонент </description> <role-name>ViewObjects</role-name> </security-role> ................................... </assembly-descriptor>

В дескрипторе мы определили две роли или два разрешения с названиями - ManageObjects и ViewObjects. Далее эти роли мы назначим методам бинов. В этом же дескрипторе появляется описание такого вида:

<assembly-descriptor> ........................ <method-permission> <role-name>ManageObjects<
/role-name> <method> <ejb-name>EJB_1</ejb-name> <method-name>*</method-name> </method> </method-permission>

<method-permission> <role-name>ManageObjects</role-name> <method> <ejb-name>EJB_2</ejb-name> <method-name>*</method-name> </method> </method-permission>

<method-permission> <role-name>ManageObjects</role-name> <method> <ejb-name>EJB_3</ejb-name> <method-name>*</method-name> </method> </method-permission> <!-- Пользователи имеющие у себя роль-разрешение
ManageObjects, получат доступ к ЛЮБОМУ методу на ЛЮБОМ интерфейсе
бинов EJB_1, EJB_2, EJB_3, что указывается символом (*) в названии метода -->




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