Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

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

Защита контейнеров

В Java EE контейнеры компонентов отвечают за обеспечение безопасности приложений. Контейнер обеспечивает два типа безопасности: декларативную и программную.

Здесь рассматриваются следующие темы:

Использование аннотаций для указания информации о безопасности

Аннотации обеспечивают декларативный стиль программирования и охватывают как декларативную, так и программную концепции безопасности. Пользователи могут указать информацию о безопасности аннотациями в файле класса. GlassFish Server использует эту информацию при развёртывании приложения. Однако не всю информацию о безопасности можно указать с помощью аннотаций. Некоторая информация должна быть указана в дескрипторах развёртывания приложения.

Конкретные аннотации, которые можно использовать для указания информации о безопасности в файле класса Enterprise-бина, описаны в Защита Enterprise-бинов с использованием декларативной безопасности. Глава 51 «Начало работы по защите веб-приложений» описывает, как использовать аннотации для защиты веб-приложений там, где это возможно. Дескрипторы развёртывания описаны только там, где это необходимо.

Для получения дополнительной информации об аннотациях см. Дополнительная информация о безопасности.

Использование дескрипторов развёртывания для декларативной безопасности

Декларативная безопасность может выражать требования безопасности компонента приложения с помощью дескрипторов развёртывания. Поскольку информация дескриптора развёртывания является декларативной, она может быть изменена без необходимости изменения исходного кода. Во время выполнения сервер Java EE считывает дескриптор развёртывания и воздействует на соответствующее приложение, модуль или компонент. Дескрипторы развёртывания должны предоставлять определённую структурную информацию для каждого компонента, если эта информация не была предоставлена ​​в аннотациях или не должна использоваться по умолчанию.

Эта часть руководства не описывает, как создавать дескрипторы развёртывания. Она описывает только элементы дескриптора развёртывания, относящиеся к безопасности. IDE NetBeans предоставляет инструменты для создания и изменения дескрипторов развёртывания.

Различные типы компонентов используют разные форматы или схемы для своих дескрипторов развёртывания. Элементы безопасности дескрипторов развёртывания, обсуждаемые в этом руководстве:

  • Веб-компоненты могут использовать дескриптор развёртывания веб-приложения web.xml.

    Схема для дескрипторов развёртывания веб-компонента приведена в главе 14 спецификации Java Servlet 4.0 (JSR 369), которую можно загрузить с http://jcp.org/en/jsr/detail?id=369.

  • Enterprise-бины могут использовать дескриптор развёртывания EJB META-INF/ejb-jar.xml, содержащийся в файле EJB JAR.

    Схема для дескрипторов развёртывания EJB 3.2 приведена в главе 14 Спецификации основных контрактов и требований EJB 3.2 (JSR 345), которую можно загрузить с http://jcp.org/en/jsr/detail?id=345.

Использование программной безопасности

Программная безопасность встроена в приложение и используется для принятия решений по доступу. Программная безопасность полезна, когда одной декларативной безопасности недостаточно для реализации модели безопасности приложения. API программной безопасности состоит из методов интерфейса Java EE Security API SecurityContext, методов интерфейса EJB EJBContext и интерфейса сервлета HttpServletRequest. Эти методы позволяют компонентам принимать решения бизнес-логики на основе роли вызывающего субъекта или удалённого пользователя.

Программная безопасность обсуждается более подробно в следующих разделах:


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)