Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak vyvíjet webovou aplikaci Spring, která podporuje přihlášení účtem Microsoft Entra. Po dokončení všech kroků v tomto článku se webová aplikace při anonymním přístupu přesměruje na přihlašovací stránku Microsoft Entra. Následující snímek obrazovky ukazuje přihlašovací stránku Microsoft Entra:
Požadavky
K dokončení kroků v tomto článku potřebujete následující požadavky:
- Podporovaná sada pro vývoj Javy (JDK). Další informace o sadách JDK, které jsou k dispozici při vývoji v Azure, najdete v tématu podpora Javy v Azure a azure Stack.
- Apache Maven, verze 3.0 nebo vyšší.
- Předplatné Azure. Pokud nemáte předplatné Azure, vytvořte si bezplatný účet.
Důležitý
K dokončení kroků v tomto článku se vyžaduje Spring Boot verze 2.5 nebo vyšší.
Vytvoření aplikace pomocí Aplikace Spring Initializr
Přejděte na https://start.spring.io/.
Zadejte, že chcete vygenerovat projekt Maven s Java. Zadejte názvy skupin a artefaktů pro vaši aplikaci.
Přidání závislostí pro klienta Spring Web a OAuth2
V dolní části stránky vyberte tlačítko GENEROVAT.
Po zobrazení výzvy stáhněte projekt do složky na vašem místním počítači.
Přidejte závislost Microsoft Entra
Extrahujte stažené soubory projektu do adresáře v místním počítači.
Otevřete soubor pom.xml v textovém editoru.
Přidejte do oddílu Azure Vyúčtování materiálů (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>Do části přidejte závislost
<dependencies>spring cloud Azure Starter Microsoft Entra.<dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-active-directory</artifactId> </dependency>Uložte a zavřete soubor pom.xml.
Vytvoření instance Microsoft Entra
Pokud jste správcem existující instance, můžete tento proces přeskočit.
Přihlaste se do https://portal.azure.com.
Vyberte Všechny služby, pak Identitya následně Microsoft Entra ID.
Zadejte název organizace a počáteční název domény . Zkopírujte úplnou adresu URL adresáře. Adresu URL použijete k přidání uživatelských účtů později v tomto kurzu. (Příklad:
azuresampledirectory.onmicrosoft.com.)Zkopírujte úplnou adresu URL adresáře. Adresu URL použijete k přidání uživatelských účtů později v tomto kurzu. (Například:
azuresampledirectory.onmicrosoft.com.).Až budete hotovi, vyberte Vytvořit. Vytvoření nového prostředku bude trvat několik minut.
Po dokončení vyberte zobrazený odkaz pro přístup k novému adresáři.
Zkopírujte ID nájemce . Hodnotu ID použijete ke konfiguraci souboru application.properties později v tomto kurzu.
Přidejte registraci pro svou aplikaci Spring Boot
V nabídce portálu vyberte Registrace aplikacía pak vyberte Zaregistrovat aplikaci.
Specifikujte svou aplikaci a vyberte Zaregistrujte se.
Jakmile se zobrazí stránka registrace aplikace, zkopírujte ID aplikace (klienta) a ID tenanta. Tyto hodnoty použijte ke konfiguraci souboru application.properties dále v tomto kurzu.
V navigačním podokně vyberte Certifikáty & utajené informace. Pak vyberte Nový tajný klíč klienta.
Přidejte popis a vyberte dobu trvání v seznamu Vyprší. Vyberte Přidat. Hodnota klíče se vyplní automaticky.
Zkopírujte a uložte hodnotu tajného klíče klienta a nakonfigurujte soubor application.properties dále v tomto kurzu. (Tuto hodnotu nemůžete později načíst.)
Na hlavní stránce registrace aplikace vyberte Ověřovánía vyberte Přidat platformu. Pak vyberte webové aplikace.
U nového identifikátoru URI přesměrování zadejte
http://localhost:8080/login/oauth2/code/a poté vyberte Nastavit.Pokud jste upravili soubor pom.xml tak, aby používal počáteční verzi Microsoft Entra starší než 3.0.0: v části Implicitní udělení a hybridní toky vyberte tokeny ID (používané pro implicitní a hybridní toky) a pak vyberte Uložit.
Přidání uživatelského účtu a přiřazení role aplikace Microsoft Entra
Na stránce Přehled tenanta Microsoft Entra ID vyberte Uživatelé a pak vyberte Nový uživatel.
Po zobrazení panelu Uživatel zadejte uživatelské jméno a jméno. Pak vyberte Vytvořit.
Poznámka
Když zadáte uživatelské jméno, musíte zadat adresu URL adresáře z dřívější části tohoto kurzu. Například:
test-user@azuresampledirectory.onmicrosoft.comNa hlavní stránce registrace aplikace vyberte Role aplikace a pak vyberte Vytvořit roli aplikace. Zadejte hodnoty polí formuláře, vyberte Chcete tuto roli aplikace povolit? a pak vyberte Použít.
Na stránce Přehled adresáře Microsoft Entra vyberte Aplikace pro firmy.
Vyberte Všechny aplikace a pak vyberte aplikaci, do které jste přidali roli aplikace v předchozím kroku.
Vyberte Uživatelé a skupiny a pak vyberte Přidat uživatele nebo skupinu.
V části Uživatelévyberte Žádné vybrané. Vyberte uživatele, který jste vytvořili dříve, vyberte Vybrat a pak vyberte Přiřadit. Pokud jste dříve vytvořili více než jednu roli aplikace, vyberte roli.
Vraťte se na panel Uživatelé , vyberte testovacího uživatele a vyberte Resetovat heslo. Zkopírujte heslo. Heslo použijete při přihlášení k aplikaci později v tomto kurzu.
Konfigurace a kompilace aplikace
Extrahujte soubory z archivu projektu, který jste vytvořili a stáhli dříve v tomto kurzu, do adresáře.
Přejděte do složky src/main/resources v projektu a pak otevřete soubor application.properties v textovém editoru.
Pomocí hodnot, které jste vytvořili dříve, zadejte nastavení registrace aplikace. Například:
# 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>Kde:
Parametr Popis spring.cloud.azure.active-directory.enabledPovolí funkce poskytované nástrojem spring-cloud-azure-starter-active-directory.spring.cloud.azure.active-directory.profile.tenant-idObsahuje ID tenanta vaší Microsoft Entra ID, jak bylo zmíněno dříve. spring.cloud.azure.active-directory.credential.client-idObsahuje ID aplikace z registrace aplikace, kterou jste dokončili dříve. spring.cloud.azure.active-directory.credential.client-secretObsahuje hodnotu z registračního klíče aplikace, který jste dokončili dříve. Uložte a zavřete soubor application.properties.
Vytvořte složku s názvem kontroleru ve zdrojové složce Java pro vaši aplikaci. Příklad: src/main/java/com/wingtiptoys/security/controller.
Ve složce kontroleru
vytvořte nový soubor Java s názvem HelloController.java a otevřete ho v textovém editoru.Zadejte následující kód a pak soubor uložte a zavřete:
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"; } }
Sestavení a otestování aplikace
Otevřete příkazový řádek a změňte adresář do složky, ve které se nachází soubor pom.xml vaší aplikace.
Sestavte aplikaci Spring Boot pomocí Mavenu a spusťte ji. Například:
mvn clean package mvn spring-boot:runPo sestavení a spuštění aplikace Maven otevřete
http://localhost:8080/Adminve webovém prohlížeči. Zobrazí se výzva k zadání uživatelského jména a hesla.
Poznámka
Pokud se jedná o první přihlášení k novému uživatelskému účtu, může se zobrazit výzva ke změně hesla.
Po úspěšném přihlášení se zobrazí ukázkový text "Zpráva správce" z kontroleru.
Shrnutí
V tomto kurzu jste vytvořili novou webovou aplikaci Java pomocí úvodní Microsoft Entra, nakonfigurovali jste nového tenanta Microsoft Entra, zaregistrovali jste novou aplikaci v tenantovi a pak jste aplikaci nakonfigurovali tak, aby používala poznámky a třídy Spring k ochraně webové aplikace.
Viz také
- Informace o nových možnostech uživatelského rozhraní najdete v průvodci registrací aplikací portálu New Azure Portal.
Další kroky
Další informace o Springu a Azure najdete v centru dokumentace Spring on Azure.