| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- -*- xhtml -*- --> |
| <!-- |
| Copyright (c) 2009, 2010, 2011, Oracle and/or its affiliates. All rights reserved. |
| --> |
| |
| <html> |
| <head> |
| <title>Создание безопасных компонентов EJB в Java EE</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="A guide to creating a simple enterprise application with NetBeans IDE"> |
| <link rel="stylesheet" type="text/css" href="../../../netbeans.css"> |
| |
| </head> |
| <body> |
| <h1>Создание безопасных компонентов EJB в Java EE</h1> |
| |
| <p>Поддержка спецификации Java EE в IDE NetBeans позволяет полностью воспользоваться многими преимуществами функций Java EE, что позволит упростить разработку приложений. Значительным улучшением спецификации Java EE 5 было включение аннотаций. Использование аннотаций позволяет устранить множество кода заглушек, используемого при написании кода приложений, и уменьшает объем необходимой настройки при развертывании приложения. |
| </p> |
| |
| <p>Использование аннотаций значительно упростило разработку и настройку компонентов EJB. Аннотации позволяют указывать множество свойств настройки, которые ранее указывались в файлах дескриптора развертывания, что устраняет необходимость во множестве таких файлов. Хотя для приложений все еще могут требоваться некоторые файлы дескриптора развертывания (например, <tt>web.xml</tt>), редактор дескриптора развертывания с несколькими представлениями среды IDE значительно упрощает изменение файлов.</p> |
| |
| <p>Аннотации упрощают создание безопасных компонентов EJB. Вместо настройки безопасности компонента EJB в дескрипторе развертывания <tt>ejb-jar.xml</tt> можно использовать аннотации безопасности для настройки авторизации непосредственно в исходном коде. Для приложений J2EE Java EE 5 не требуется файл <tt>ejb-jar.xml</tt> или <tt>application.xml</tt>.</p> |
| |
| <p>Обзор некоторых функций спецификации Java EE см. в разделе <a href="javaee-intro.html">Введение в технологию Java EE</a>. Дополнительные сведения о спецификациях аннотаций см. в разделе <a href="http://jcp.org/en/jsr/detail?id=250" target="_blank"> JSR 250: общие аннотации для платформы Java</a>.</p> |
| |
| |
| <p><b>Содержание</b></p> |
| <img alt="Содержимое на этой странице применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0" class="stamp" src="../../../images_www/articles/73/netbeans-stamp-80-74-73.png" title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"> |
| <ul> |
| <li><a href="#ex2">Создание группы безопасности на сервере приложений</a></li> |
| <li><a href="#ex2b">Создание библиотеки классов Java для удаленного интерфейса</a></li> |
| <li><a href="#ex3">Создание и защита приложения J2EE</a> |
| <ul> |
| <li><a href="#ex3a">Создание проекта приложения J2EE</a></li> |
| <li><a href="#ex3b">Защита метода в сеансном компоненте</a></li> |
| <li><a href="#ex3c">Настройка дескрипторов развертывания</a></li> |
| </ul> |
| </li> |
| <li><a href="#ex4">Создание клиента приложения</a></li> |
| <li><a href="#ex5">Выполнение приложения</a></li> |
| </ul> |
| |
| <p><b>Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.</b></p> |
| <table> |
| <tbody> |
| <tr> |
| <th class="tblheader" scope="col">Программное обеспечение или материал</th> |
| <th class="tblheader" scope="col">Требуемая версия</th> |
| </tr> |
| <tr> |
| <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">IDE NetBeans</a></td> |
| <td class="tbltd1">Версия 7.2, 7.3, 7.4, 8.0, Java EE</td> |
| </tr> |
| <tr> |
| <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Комплект для разработчика на языке Java (JDK)</a></td> |
| <td class="tbltd1">версия 7 или 8</td> |
| </tr> |
| <tr> |
| <td class="tbltd1">Сервер GlassFish</td> |
| <td class="tbltd1">3.1.x, 4.x</td> |
| </tr> |
| |
| </tbody> |
| </table> |
| |
| <p class="tip">Для этого учебного курса необходимо зарегистрировать локальный экземпляр сервера GlassFish в среде IDE. Если на вашем компьютере установлена версия 'Java EE' среды IDE, сервер приложений должен быть уже установлен и зарегистрирован. Если сервер приложений не зарегистрирован в среде IDE, выберите "Сервис > Серверы", чтобы зарегистрировать сервер в диспетчере серверов. Приложения масштаба предприятия нельзя развернуть на веб-сервере Tomcat.</p> |
| |
| <p><b>Предпосылки</b></p> |
| <p>Предполагается, что читатель обладает базовыми знаниями по следующим технологиям или опытом программирования с их использованием:</p> |
| <ul> |
| <li>Программирование на Java</li> |
| <li>IDE NetBeans</li> |
| </ul> |
| |
| |
| <h2><a name="ex2"></a>Создание группы безопасности на сервере приложений</h2> |
| <p>В этом примере доступ к компоненту EJB необходимо предоставить только пользователям из группы <tt>bank_users</tt>. Будет создан пользователь <tt>manager</tt> в группе <tt>bank_users</tt> в области безопасности <tt>file</tt> на сервере приложений.</p> |
| <ol> |
| <li>Запустите сервер приложений, щелкнув правой кнопкой мыши его узел в окне 'Службы' и выбрав 'Пуск'.</li> |
| <li>Правой кнопкой мыши щелкните узел сервера приложений и выберите 'Просмотр консоли администратора домена', чтобы открыть консоль администрирования сервера GlassFish в браузере.</li> |
| <li>Разверните узел <strong>server-config</strong> в узле "Настройка" на левой панели переходов.</li> |
| <li>Щелкните <strong>Безопасность > Области > файл</strong>, чтобы открыть окно "Изменить область".<br> <img alt="снимок панели навигации на консоли администрирования" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/console-file-realm.png" title="Выбор узла области файла на консоли администрирования сервера приложений" /> |
| </li> |
| <li>Нажмите кнопку "Управление пользователями" в верней участи панели "Редактировать область", чтобы открыть панель "Изменить область".<br> <img alt="снимок панели 'Изменить область' на консоли администрирования" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/console-edit-realm.png" title="Узел панели 'Изменить область' на консоли администрирования сервера приложений" /> |
| </li> |
| <li>Нажмите кнопку "Новый" в верхней части таблицы "Пользователи файлов" на панели "Пользователи файлов".</li> |
| <li>Введите следующие данные в форму "Новый пользователь области файлов". Нажмите кнопку "ОК". |
| <table width="25%" > |
| <tr> |
| <th width="50%" class="tblheader" scope="col">Имя</th> |
| <th width="50%" class="tblheader" scope="col">Значение</th> |
| </tr> |
| <tr> |
| <td class="tbltd1">Идентификатор пользователя</td> |
| <td class="tbltd1">диспетчер</td> |
| </tr> |
| <tr> |
| <td class="tbltd1">Список групп</td> |
| <td class="tbltd1">bank_users</td> |
| </tr> |
| <tr> |
| <td class="tbltd1">Пароль</td> |
| <td class="tbltd1">"password" – пароль</td> |
| </tr> |
| </table> |
| |
| <p>Форма должна быть схожей со следующим изображением.</p> |
| <img alt="снимок панели 'Создать пользователя области файла' на консоли администрирования" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/console-new-user.png" title="Панель 'Создать пользователя области файла' на консоли администрирования сервера приложений" /> |
| <p>При нажатии кнопки "ОК" сервер создает пользователя и открывает панель "Пользователи файлов". Можно заметить, что появился пользователь с именем <tt>manager</tt>.</p> |
| |
| <img alt="снимок панели 'Пользователи файлов' на консоли администрирования" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/console-file-users.png" title="Панель 'Пользователи файлов' на консоли администрирования со списком пользователей" /> |
| |
| </li> |
| </ol> |
| <p>Теперь, после создания пользователя, будет создано приложение J2EE для проверка возможности пользователя просматривать данные.</p> |
| |
| |
| |
| |
| <a name="ex2b"></a> |
| <h2>Создание библиотеки классов Java для удаленного интерфейса</h2> |
| <p>В этом упражнении будет создан простой проект библиотеки классов Java, содержащий удаленные интерфейсы для сеансного компонента. Скомпилированный файл JAR библиотеки классов будет добавлен к пути к классам в модуле EJB и к клиенту приложения, который будет использоваться для вызова сеансного компонента.</p> |
| <ol> |
| <li>Выберите "Файл > Новый проект", затем выберите "Библиотека классов Java" в категории "Java". Нажмите кнопку "Далее".</li> |
| <li>Введите SecureRemoteInterface для имени проекта. </li> |
| <li>Укажите местоположение проекта. Нажмите кнопку 'Готово'.</li> |
| </ol> |
| |
| <p>В следующем разделе будет создан сеансный компонент в приложении J2EE. Доступ к сеансному компоненту будет осуществляться через удаленный интерфейс. При создании сеансного компонента среда IDE автоматически создаст удаленный интерфейс в библиотеке классов и добавить JAR библиотеки классов к пути к классам приложения J2EE.</p> |
| |
| |
| |
| |
| <h2><a name="ex3"></a>Создание и защита приложения J2EE</h2> |
| <p>Приложение J2EE будет состоять из простого сеансного компонента, доступного через удаленный интерфейс в проекте библиотеки классов.</p> |
| |
| <div class="indent"> |
| <a name="ex3a"></a> |
| <h3>Создание проекта приложения J2EE</h3> |
| <p>В этом упражнении будет создано приложение J2EE, содержащее модуль EJB.</p> |
| <ol> |
| <li>Выберите 'Файл' > 'Создать проект' (Ctrl-Shift-N; ⌘-Shift-N on Mac), а затем в категории Java EE выберите шаблон 'Корпоративное приложение'. Нажмите кнопку "Далее".</li> |
| <li>Введите <strong>Secure</strong> для названия проекта и выберите его местоположение.</li> |
| <li>Снимите флажок "Использовать отдельную папку", если он установлен.<br /> |
| <p>В рамках этого руководства копирование библиотек проекта в выделенную папку не целесообразно, поскольку совместное использование библиотек с другими пользователями или проектами не требуется. </p> |
| Нажмите кнопку "Далее".</li> |
| <li>Установите сервер GlassFish, затем для параметра "Версия Java EE" выберите "Java EE 6".</li> |
| <li>Выберите "Создать модуль EJB" и отмените выбор "Создать модуль веб-приложения". Нажмите кнопку 'Готово'.</li> |
| </ol> |
| <img alt="снимок панели 'Создать пользователя области файла' на консоли администрирования" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/new-entapp-wizard.png" title="Панель 'Создать пользователя области файла' на консоли администрирования сервера приложений" /> <a name="ex3b"></a> |
| <h3>Обеспечение безопасности метода в сеансном компоненте</h3> |
| <p>В этом упражнении будет создан сеансный компонент в проекте модуля EJB. Сеансный компонент не выполняет ничего сверхъестественного. Он просто возвращает пример суммы баланса. Будет создан метод <tt>getStatus</tt>, который будет защищен методом компонента путем добавлении аннотации <tt>@RolesAllowed</tt> и указания ролей безопасности, которым разрешен доступ к методу. Эта роль безопасности используется приложением и не совпадает с пользователями и группами на сервере. Можно сопоставить роль безопасности с пользователями и группами позже при настройке дескрипторов развертывания.</p> |
| |
| <p>Аннотации безопасности могут применяться индивидуально к каждому методу в классе или ко всему классу. В этом простом упражнении будет использоваться <tt>@RolesAllowed</tt> для аннотации метода, но спецификация Java EE определяет другие аннотации безопасности, которые могут использоваться в компонентах EJB. </p> |
| <ol> |
| <li>В окне 'Проекты' щелкните правой кнопкой мыши узел модуля EJB (Secure-ejb) и выберите 'Создать' > 'Компонент Bean сеанса'.</li> |
| <li>Введите <strong>AccountStatus</strong> для имени базового компонента, <strong>bean</strong> для пакета.</li> |
| <li>Выберите "Удаленный интерфейс в проекте" для типа интерфейса.</li> |
| <li>Выберите SecureRemoteInterface в раскрывающемся списке. Нажмите кнопку "Готово".<br> <img alt="снимок мастера создания компонентов сеансов" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/new-sessionbean-wizard.png" title="Удаленный интерфейс выбран в мастере создания компонентов сеансов" /> |
| <p>При нажатии кнопки "Готово" среда IDE создает класс <tt>AccountStatus</tt> и открывает файл в редакторе исходного кода. |
| <p>Среда IDE также создает удаленный интерфейс <tt>AccountStatusRemote</tt> для базового элемента в пакете <tt>bean</tt> в проекте библиотеки классов SecureRemoteInterface и добавленном JAR библиотеки классов SecureRemoteInterface к пути к классам проекта модуля EJB.</p> |
| <img alt="снимок окна 'Проекты', в котором отображается структура" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/projects-window-bean.png" title="Окно 'Проекты', в котором отображаются компонент сеанса и библиотека классов на пути к классу" /> |
| <p>При открытии категории "Библиотеки" диалогового окна "Свойства" модуля EJB можно заметить, что JAR добавлен к библиотеке для компиляции.</p> |
| </li> |
| <li>В редакторе исходного кода добавьте следующее объявление поля (полужирным шрифтом) к <tt>AccountStatus</tt>:<br /> |
| <pre class="examplecode">public class AccountStatus implements AccountStatusRemote { |
| <b>private String amount = "250";</b></pre> |
| </li> |
| <li>В редакторе исходного кода щелкните правой кнопкой мыши в классе и выберите 'Вставить код' (Alt-Insert; Ctrl-I в Mac), а затем выберите 'Добавить бизнес-метод', чтобы открыть диалоговое окно 'Добавить бизнес-метод'.</li> |
| <li>Введите <strong>getStatus</strong> в качестве имени метода, затем установите для типа возвращаемого значения <tt>String</tt>. |
| <p>Среда IDE автоматически открывает бизнес-метод в удаленном интерфейсе.</p></li> |
| <li>В редакторе исходного кода добавьте следующую строку с полужирным шрифтом к методу <tt>getStatus</tt>. |
| <pre class="examplecode">public String getStatus() { |
| <b> return "The account contains $" + amount;</b> |
| }</pre> |
| </li> |
| <li>Введите следующее (полужирным шрифтом) для аннотации метода <tt>getStatus</tt>. |
| <pre class="examplecode"><b>@RolesAllowed({"USERS"})</b> |
| public String getStatus() {</pre> |
| <p>Эта аннотация означает, что только пользователям с ролью безопасности <tt>USERS</tt> доступен метод <tt>getStatus</tt>.</p> |
| </li> |
| <li>Щелкните правой кнопкой мыши в области редактора и выберите команду 'Исправить операторы импорта' (Alt-Shift-I; ⌘-Shift-I в Mac) и сохраните изменения. Убедитесь, что к файлу добавлено <tt>javax.annotation.security.RolesAllowed</tt>.</li> |
| </ol> |
| |
| |
| <h3><a name="ex3c"></a>Настройка дескрипторов развертывания</h3> |
| <p>Для приложений J2EE Java EE обычно не требуются файлы дескриптора развертывания, такие как <tt>ejb-jar.xml</tt>. Если развернуть узел "Файлы настройки" в Secure-ejb или безопасном приложении J2EE, можно увидеть, что дескрипторы развертывания отсутствуют. Аннотации можно использоваться для указания множества свойств, настроенных в <tt>ejb-jar.xml</tt>. В том примере были указаны роли безопасности для методов EJB, используя аннотации <tt>@RolesAllowed</tt> в сеансном компоненте.</p> |
| |
| <p>Однако при настройке безопасности для приложения требуется указать некоторые свойства в дескрипторах развертывания. В этом примере необходимо сопоставить роли безопасности, используемые в приложении J2EE(<tt>USERS</tt>), с пользователями и группами, настроенными на серверами приложений. Была создана группа <tt>bank_users</tt> на сервере приложений, и необходимо сопоставить эту группу с ролью безопасности <tt>USERS</tt> в приложении J2EE. Для этого необходимо изменить дескриптор развертывания <tt>glassfish-application.xml</tt> для приложения J2EE.</p> |
| |
| <p>Поскольку для запуска приложения J2EE не требуются дескрипторы развертывания, среда IDE не создала дескрипторы развертывания по умолчанию. Поэтому сначала необходимо создать файл дескриптора развертывания, затем отредактировать файл в редакторе с несколькими представлениями для настройки сопоставлений роли безопасности.</p> |
| <ol> |
| <li>Правой кнопкой мыши щелкните проект безопасного приложения J2EE и выберите "Новый > Другое", чтобы открыть мастер "Создание файла". |
| <p>Также можно открыть мастер "Создание файла", выбрав "Файл > Создание файла" в главном меню. В этом случае необходимо выбрать проект "Безопасность" в раскрывающемся списке "Проект".</p></li> |
| <li>Выберите тип файла "Дескриптор GlassFish" в категории GlassFish. Нажмите кнопку "Далее".<br> <img alt="моментальный снимок мастера создания файлов" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/new-gf-descriptor.png" title="Тип файла дескриптора GlassFish в мастере создания файлов" /> |
| </li> |
| <li>Примите значения по умолчанию в мастере и щелкните "Готово". |
| <p>При нажатии кнопки "Готово" среда IDE создает файл <tt>glassfish-application.xml</tt> и открывает его в редакторе исходного кода с несколькими представлениями. <p> |
| <p>Если развернуть узел проекта приложения J2EE "Безопасность" в окне "Проекты", можно увидеть, что файл дескриптора создан в узле "Файлы настройки".</p> |
| <img alt="снимок редактора с несколькими представлениями дескриптора" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/glassfish-application-descriptor.png" title="Вкладка 'Безопасность' в редакторе с несколькими представлениями " /> |
| </li> |
| <li>На вкладке "Безопасность" редактора с несколькими представлениями щелкните "Добавить сопоставление роли безопасности" и введите <b>USERS</b> для параметра "Имя роли безопасности".</li> |
| <li>Щелкните "Добавить группу" и введите <b>bank_users</b> для параметра "Имя группы" в диалоговом окне. Нажмите кнопку "ОК". |
| <p>Теперь текст в редакторе должен быть схож со следующим.</p> |
| <img alt="снимок редактора с несколькими представлениями дескриптора" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/security-tab-descriptor.png" title="Вкладка 'Безопасность' в редакторе с несколькими представлениями " /> |
| </li> |
| <li>Сохраните изменения.</li> |
| </ol> |
| <p>Можно щелкнуть вкладку "XML" в редакторе с несколькими представлениями, чтобы просмотреть файл дескриптора развертывания в представлении XML. Теперь этот файл дескриптора развертывания содержит следующий текст:</p> |
| <pre class="examplecode"><glassfish-application> |
| <security-role-mapping> |
| <role-name>USERS</role-name> |
| <group-name>bank_users</group-name> |
| </security-role-mapping> |
| </glassfish-application></pre> |
| |
| <p>Теперь метод <tt>getStatus</tt> безопасен и доступен только пользователям в группе <tt>bank_users</tt>, указанной на сервере. </p> |
| |
| <p>Теперь требуется способ проверки параметров безопасности. Проще всего создать базовый клиент приложения, запрашивающий у пользователя ввод имени пользователя и пароля.</p> |
| |
| </div> |
| |
| <a name="ex4"></a> |
| <h2>Создание клиента приложения</h2> |
| <p>В этом разделе будет создан простой клиент приложения для доступа к сеансному компоненту <tt>AccountStatus</tt>. Аннотация <tt>@EJB</tt> в коде будет использоваться для вызова базового элемента через удаленный интерфейс, а среда IDE автоматически добавит файл JAR библиотеки классов, содержащий интерфейс клиента приложения.</p> |
| <ol> |
| <li>Выберите Файл > Создать проект и затем выберите "Клиент корпоративного приложения" в категории Java EE. Нажмите кнопку "Далее".</li> |
| <li>Введите SecureAppClient в качестве имени проекта. Нажмите кнопку "Далее".</li> |
| <li>Выберите <strong><Нет></strong> в раскрывающемся списке "Добавить в приложение J2EE".</li> |
| <li>Выберите 'GlassFish Server' в списке 'Сервер' и 'Java EE 6' или 'Java EE 7' в списке 'Версия Java EE'. Нажмите кнопку "Готово". |
| <p>После нажатии кнопки "Готово" в редакторе исходного кода откроется <tt>Main.java</tt>.</p></li> |
| <li>В редакторе исходного кода щелкните правой кнопкой мыши в файле <tt>Main.java</tt> и выберите 'Вставить код' (Alt-Insert; Ctrl-I в Mac) и выберите 'Call Enterprise Bean'.</li> |
| <li>В диалоговом окне "Вызов компонента EJB" разверните узел Secure-ejb и выберите AccountStatus. Нажмите кнопку "ОК".<br> <img alt="моментальный снимок диалогового окна 'Вызвать компонент корпоративного уровня'" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/call-enterprise-bean.png" title="интерфейс, выбранный в диалоговом окне 'Вызвать компонент корпоративного уровня'" /> |
| |
| <p>Среда IDE добавляет следующий код к клиенту приложения для поиска сеансного компонента.</p> |
| <pre class="examplecode">@EJB |
| private static AccountStatusRemote accountStatus;</pre> |
| <p>Если развернуть узел "Узел" в окне "Проекты", можно увидеть, что среда IDE добавила файл JAR SecureRemoteInterface к пути к классам проекта.</p> |
| </li> |
| <li>Измените метод <tt>main</tt>, чтобы добавить следующий код и сохранить изменения. |
| <pre class="examplecode">public static void main(String[] args) { |
| <b>System.out.println(accountStatus.getStatus());</b> |
| }</pre> |
| </li> |
| </ol> |
| |
| <p class="tips">Дополнительные сведения о клиентах приложений приведены в разделе <a href="entappclient.html">Создание и запуск клиентов приложений на сервере GlassFish</a>.</p> |
| |
| |
| |
| <h2><a name="ex5"></a>Выполнение приложения</h2> |
| <p>Теперь приложение готово. Сначала необходимо развернуть приложение J2EE на сервере. После развертывания приложения J2EE можно запустить клиент приложения для проверки безопасности метода в приложении J2EE и правильности сопоставления ролей пользователей. После запуска клиента приложения появится запрос на ввод имени пользователя и пароля для пользователя в группе <tt>bank_users</tt>.</p> |
| <ol> |
| <li>Правой кнопкой мыши щелкните узел проекта приложения J2EE "Безопасность" в окне "Проекты" и выберите "Развернуть". |
| <p>При нажатии кнопки "Развернуть" среда IDE создает файл EAR, запускает сервер приложений (если он еще не запущен) и выполняет развертывание файла EAR на сервере.</p> |
| </li> |
| <li>Правой кнопкой мыши щелкните узел проекта SecureAppClient в окне "Проект" и выберите "Выполнить". Появится диалоговое окно с запросом на ввод имени пользователя и пароля.<br /> <img alt="снимок окна 'Вход'" class="margin-around box" src="../../../images_www/articles/72/javaee/secure-ejbs/login-window.png" title="Окно входа с запросом на ввод имени пользователя и пароля" /> |
| <li>В диалоговом окне введите имя пользователя (<tt>manager</tt>) и пароль (<tt>password</tt>) и нажмите кнопку "ОК". В окне вывода появится следующее. |
| <pre class="examplecode">The account contains 250$</pre></li> |
| </ol> |
| |
| <p>Этот очень простой пример демонстрирует использование аннотаций Java для защиты метода в компоненте EJB.</p> |
| |
| <div class="feedback-box"> |
| <a href="/about/contact_form.html?to=3&subject=Feedback:%20Building%20Secure%20Enterprise%20Beans">Отправить отзыв по этому учебному курсу</a> |
| </div> |
| |
| <br style="clear:both;" /> |
| <!-- ======================================================================================= --> |
| <h2><a name="nextsteps"></a>Дополнительные сведения</h2> |
| <p>Дополнительные сведения об использовании аннотаций и дескрипторов развертывания для защиты компонентов можно найти в следующих ресурсах:</p> |
| <ul> |
| <li>Главы <a href="http://docs.oracle.com/javaee/7/tutorial/doc/security-intro003.htm">Защита контейнеров</a> и <a href="http://docs.oracle.com/javaee/7/tutorial/doc/security-advanced008.htm">Настройка параметров безопасности с помощью дескрипторов развертывания</a> в разделе <a href="http://docs.oracle.com/javaee/7/tutorial/doc/partsecurity.htm">Безопасность</a> практического руководства по Java EE 7</li> |
| </ul> |
| |
| <p>Дополнительные сведения об использовании IDE NetBeans для разработки приложений Java EE см. следующие ресурсы:</p> |
| <ul> |
| <li><a href="javaee-intro.html">Введение в технологию Java EE </a></li> |
| <li><a href="javaee-gettingstarted.html">Начало работы с приложениями Java EE</a></li> |
| <li><a href="../../trails/java-ee.html">Учебная карта по Java EE и Java Web</a></li> |
| </ul> |
| <p>Для отправки комментариев и предложений, получения поддержки и новостей о последних разработках, связанных с Java EE IDE NetBeans <a href="../../../community/lists/top.html">присоединяйтесь к списку рассылки nbj2ee</a>.</p> |
| </body> |
| </html> |
| |
| |