Přidání přihlášení pomocí účtu Microsoft Entra do webové aplikace Spring
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 jsou potřeba 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 pomocíJavy , zadejte názvy skupiny a názvy artefaktů vaší aplikace.Přidejte závislosti pro Spring Web, Microsoft Entra IDa OAuth2 Client.
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.
Vytvoření instance Microsoft Entra
Vytvoření instance služby Active Directory
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 klienta a ID tenanta (adresáře) . Tyto hodnoty použijete 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 nebudete moct později načíst.)
Na hlavní stránce registrace aplikace vyberte Ověřovánía vyberte Přidat platformu. Pak vyberte webové aplikace.
Zadejte http://localhost:8080/login/oauth2/code/ jako nový identifikátor URI přesměrovánía pak vyberte Konfigurovat.
Pokud jste změnili soubor pom.xml tak, aby používal úvodní verzi Microsoft Entra starší než 3.0.0: v části Implicitní udělení a hybridní tokyvyberte ID tokeny (používané pro implicitní a hybridní toky), pak vyberte Uložit.
Přidání uživatelského účtu do adresáře a přidání daného účtu do appRole
Na stránce přehledu služby Active Directory 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.com
Na hlavní stránce registrace aplikace vyberte role aplikacea 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 aplikacea pak vyberte aplikaci, do které jste přidali roli aplikace v předchozím kroku.
Vyberte Uživatelé a skupinya 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 Vybertea 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 zvolte Resetovat heslo, poté 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 Active Directory 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.enabled
Povolte funkce poskytované spring-cloud-azure-starter-active-directory spring.cloud.azure.active-directory.profile.tenant-id
Obsahuje ID adresáře služby Active Directory z předchozích verzí. spring.cloud.azure.active-directory.credential.client-id
Obsahuje ID aplikace z registrace aplikace, kterou jste dokončili dříve. spring.cloud.azure.active-directory.credential.client-secret
Obsahuje 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:run
Po sestavení a spuštění aplikace Maven otevřete
http://localhost:8080/Admin
ve webovém prohlížeči. Měli byste být vyzváni 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í by se měl zobrazit ukázkový text "Zpráva správce" z kontroleru.
Shrnutí
V tomto kurzu jste vytvořili novou webovou aplikaci v Javě pomocí úvodní sady Microsoft Entra, nakonfigurovali jste nového tenanta Microsoft Entra, zaregistrovali jste novou aplikaci v tenantovi a pak jste svou 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í nových aplikací na webu Azure Portal
Další kroky
Další informace o Springu a Azure najdete v centru dokumentace Spring on Azure.