Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как разработать веб-приложение Spring, которое поддерживает вход учетной записи Microsoft Entra. Завершив все действия в этой статье, веб-приложение перенаправляется на страницу входа Microsoft Entra при анонимном доступе. На следующем снимке экрана показана страница входа в Microsoft Entra:
Необходимые условия
Чтобы выполнить действия, описанные в этой статье, необходимо выполнить следующие предварительные требования:
- Поддерживаемый пакет средств разработки Java (JDK). Дополнительные сведения об JDK, доступных для разработки в Azure, см. в поддержке Java в Azure и Azure Stack.
- Apache Mavenверсии 3.0 или более поздней.
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись.
Важный
Для выполнения действий, описанных в этой статье, требуется spring Boot версии 2.5 или более поздней.
Создание приложения с помощью Spring Initializr
Перейдите к https://start.spring.io/.
Укажите, что вы хотите создать проект Maven с Java. Введите имена групп и артефактов для приложения.
Добавление зависимостей для клиента Spring Web и OAuth2.
В нижней части страницы выберите кнопку GENERATE.
При появлении запроса скачайте проект в папку на локальном компьютере.
Добавьте зависимость Microsoft Entra
Извлеките скачанные файлы проекта в каталог на локальном компьютере.
Откройте файлpom.xml в текстовом редакторе.
Добавьте в раздел Azure Законопроект о материалах (BOM)
<dependencyManagement>Spring Cloud.<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>7.4.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>Добавьте в раздел зависимость
<dependencies>Azure Starter Microsoft Entra Spring Cloud.<dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-active-directory</artifactId> </dependency>Сохраните и закройте файл pom.xml.
Создание экземпляра Microsoft Entra
Если вы являетесь администратором существующего экземпляра, можно пропустить этот процесс.
Войдите в https://portal.azure.com.
Выберите все службы, затем Идентичность, и потом Microsoft Entra ID.
Введите имя вашей организации и начальное доменное имя . Скопируйте полный URL-адрес каталога. Вы будете использовать URL-адрес для добавления учетных записей пользователей далее в этом руководстве. (Например,
azuresampledirectory.onmicrosoft.com.)Скопируйте полный URL-адрес каталога. Вы будете использовать URL-адрес для добавления учетных записей пользователей далее в этом руководстве. (Например,
azuresampledirectory.onmicrosoft.com.).Когда закончите, выберите Создать. Создание нового ресурса займет несколько минут.
По завершении выберите отображаемую ссылку для доступа к новому каталогу.
Скопируйте ИД арендатора . Вы будете использовать значение идентификатора, чтобы настроить файл application.properties далее в этом руководстве.
Добавьте регистрацию для приложения на базе Spring Boot.
В меню портала выберите Регистрация приложений, а затем выберите Зарегистрировать приложение.
Укажите приложение, а затем выберите Зарегистрировать.
Когда появится страница регистрации приложения, скопируйте идентификатор приложения (клиента) и идентификатор клиента. Используйте эти значения для настройки файла application.properties далее в этом руководстве.
Выберите сертификаты, & секреты, в области навигации. Затем выберите Новый секрет клиента.
Добавьте описание и выберите длительность в списке Истечение срока. Выберите Добавить. Значение ключа автоматически заполняется.
Скопируйте и сохраните значение секрета клиента, чтобы настроить файл application.properties далее в этом руководстве. (Вы не можете получить это значение позже.)
На главной странице регистрации вашего приложения выберите раздел "Аутентификация", затем выберите "Добавить платформу". Затем выберите веб-приложения.
Для нового URI перенаправления введите
http://localhost:8080/login/oauth2/code/, а затем выберите Настроить.Если вы изменили файлpom.xml, чтобы использовать начальную версию Microsoft Entra выше 3.0.0: в разделе "Неявное предоставление и гибридные потоки", выберите маркеры идентификатора (используется для неявных и гибридных потоков) и нажмите кнопку "Сохранить".
Добавление учетной записи пользователя и назначение роли приложения Microsoft Entra
На странице "Обзор " клиента Идентификатора Microsoft Entra выберите "Пользователи" и выберите "Новый пользователь".
Когда отображается панель пользователя , введите имя пользователя и имя. Затем выберите Создать.
Заметка
При вводе имени пользователя необходимо указать URL-адрес каталога из предыдущего руководства. Например:
test-user@azuresampledirectory.onmicrosoft.comНа главной странице регистрации приложения выберите роли приложения и выберите роль приложения. Укажите значения полей формы, выберите " Включить эту роль приложения?", а затем нажмите кнопку "Применить".
На странице Обзор каталога Microsoft Entra выберите Enterprise Applications.
Выберите все приложения и выберите приложение, к которое вы добавили роль приложения на предыдущем шаге.
Выберите "Пользователи и группы", а затем нажмите кнопку "Добавить пользователя или группу".
В разделе Пользователивыберите Ничего не выбрано. Выберите пользователя, созданного ранее, нажмите кнопку "Выбрать", а затем нажмите кнопку "Назначить". Если вы создали несколько ролей приложения ранее, выберите роль.
Вернитесь на панель "Пользователи" , выберите тестового пользователя и нажмите кнопку "Сбросить пароль". Скопируйте пароль. Вы используете пароль при входе в приложение позже в этом руководстве.
Настройка и компиляция приложения
Извлеките файлы из архива проекта, который вы создали и скачали ранее в этом руководстве, в каталог.
Перейдите в папку src/main/resources в проекте, а затем откройте файл application.properties в текстовом редакторе.
Укажите параметры регистрации приложения с помощью значений, созданных ранее. Например:
# Enable related features. spring.cloud.azure.active-directory.enabled=true # Specifies your Microsoft Entra ID tenant ID: spring.cloud.azure.active-directory.profile.tenant-id=<tenant-ID> # Specifies your App Registration's Application ID: spring.cloud.azure.active-directory.credential.client-id=<client-ID> # Specifies your App Registration's secret key: spring.cloud.azure.active-directory.credential.client-secret=<client-secret>Где:
Параметр Описание spring.cloud.azure.active-directory.enabledВключает функции, предоставляемые spring-cloud-azure-starter-active-directory.spring.cloud.azure.active-directory.profile.tenant-idСодержит идентификатор клиента вашего клиента Microsoft Entra ID, полученный ранее. spring.cloud.azure.active-directory.credential.client-idСодержит идентификатор приложения , полученный при регистрации вашего приложения, выполненной ранее. spring.cloud.azure.active-directory.credential.client-secretСодержит значение из регистрационного ключа вашего приложения, который вы заполнили ранее. Сохраните и закройте файл application.properties.
Создайте папку с именем контроллера в исходной папке Java для приложения. Например: src/main/java/com/wingtiptoys/security/controller.
Создайте файл Java с именем
HelloController.java в папке контроллераи откройте его в текстовом редакторе. Введите следующий код, а затем сохраните и закройте файл:
package com.wingtiptoys.security; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.security.access.prepost.PreAuthorize; @RestController public class HelloController { @GetMapping("Admin") @ResponseBody @PreAuthorize("hasAuthority('APPROLE_Admin')") public String Admin() { return "Admin message"; } }
Создание и тестирование приложения
Откройте командную строку и перейдите в папку, в которой находится файл pom.xml приложения.
Создайте приложение Spring Boot с помощью Maven и запустите его. Например:
mvn clean package mvn spring-boot:runПосле сборки и запуска приложения Maven откройте
http://localhost:8080/Adminв веб-браузере. Вам будет предложено указать имя пользователя и пароль.
Заметка
Возможно, вам будет предложено изменить пароль, если это первый вход для новой учетной записи пользователя.
После успешного входа вы увидите пример текста "Сообщение администратора" с контроллера.
Сводка
В этом руководстве вы создали новое веб-приложение Java с помощью начального Microsoft Entra, настроили новый клиент Microsoft Entra, зарегистрировали новое приложение в клиенте, а затем настроили приложение для использования заметок Spring и классов для защиты веб-приложения.
См. также
- Дополнительные сведения о новых параметрах пользовательского интерфейса см. в руководстве по регистрации приложений на портале new Azure.
Дальнейшие действия
Чтобы узнать больше о Spring и Azure, перейдите в центр документации Spring в Azure.