Главная » Java, Web » Безопасность серверных компонентов EJB

0

Вопросы безопасности серверных компонентов EJB решаются в описателе, в файле-дескрипторе размещения. Параметры безопасности легко могут быть изменены, при этом не возникнет необходимость внесения изменений в программный код. Безопасность компонентов EJB задается путем указания ролей roles. Роли задают разные уровни доступа к компонентам EJB. Администратор имеет один уровень доступа, а клиент — другой. Могут существовать такие методы, которые, скажем, доступны администратору, но не доступны клиенту. И если пользователь меняет роль клиента на роль администратора, то ему становятся доступны методы, предназначенные для администратора.

Доступ к любому методу может быть ограничен с указанием ролей. Ограничения описываются в элементе <assembiy-descriptor>. В начале необходимо перечислить все используемые роли как таковые. Затем для каждого метода указывается возможность доступа путем перечисления ролей из ранее созданного перечня ролей. Продемонстрируем это на примере (листинг 5.25).

Листинг 5.25. Задание ролей

<assembly-descriptor> <security-role>

<role-name>administrator</role-name> </security-role> <security-role> <role-name>client</role-name> </security-role> <method-permission> <role-name>administrator</role-name> <role-name>client</role-name> <method>

<ejb-name>BobA.ktsii</ejb-name> <method-name>buy</method-name>

</method> <method>

<ejb-name>BobAktsii</ejb-name>

<method-name>getPrice</method-name>

</method>

</method-permission> </assembly-descriptor>

Внутри каждого элемента <method-permission> может быть размещено несколько ролей, за которыми указываются один или несколько методов, которые будут доступны для указанных ролей. При указании методов разрешается использование символа *. Детальные объяснения описания уровней доступа к методам можно найти в документации по EJB.

Резюме

Подведем итоги. Серверные компоненты EJB — составная часть спецификации Java 2 Enterprise Edition (J2EE). Компоненты EJB предоставляют готовую архитектуру распределенных компонентов, основанных на использовании объектов. Компонент EJB применяется в качестве представителя "бизнес-объекта" или же бывает связан с таблицей в базе данных. Часть разрабатываемого приложения представляет собой, как правило, набор EJB для работы с базами данных, в то время как другая часть — это набор EJB, не образующих постоянных персистентных соединений, но реализующих бизнес-логику приложения.

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

  • Комментарии