Bejelentkezés hozzáadása Microsoft Entra-fiókkal egy Spring-webalkalmazáshoz
Ez a cikk bemutatja, hogyan fejleszthet olyan Spring-webalkalmazást, amely támogatja a Microsoft Entra-fiók általi bejelentkezést. A jelen cikk összes lépésének befejezése után a webalkalmazás átirányítja a Microsoft Entra bejelentkezési lapjára, amikor névtelenül hozzáfér. Az alábbi képernyőképen a Microsoft Entra bejelentkezési oldala látható:
Előfeltételek
A cikk lépéseinek elvégzéséhez a következő előfeltételek szükségesek:
- Egy támogatott Java fejlesztői készlet (JDK). Az Azure-beli fejlesztés során használható JDK-król további információt az Azure-ban és az Azure Stackben elérhető Java-támogatásban talál.
- Apache Maven, 3.0-s vagy újabb verzió.
- Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
Fontos
A cikkben ismertetett lépések elvégzéséhez a Spring Boot 2.5-ös vagy újabb verziójára van szükség.
Alkalmazás létrehozása a Spring Initializr használatával
Nyissa meg a következő címet: https://start.spring.io/.
Adja meg, hogy Maven-projektet szeretne létrehozni Java használatával, majd adja meg az alkalmazáshoz tartozó Group (Csoport) és Artifact (Összetevő) neveit.
Függőségek hozzáadása a Spring Webhez, a Microsoft Entra-azonosítóhoz és az OAuth2-ügyfélhez.
A lap alján válassza a GENERATE gombot.
Ha a rendszer kéri, töltse le a projektet a helyi számítógépre.
Microsoft Entra-példány létrehozása
Az Active Directory-példány létrehozása
Ha Ön egy meglévő példány rendszergazdája, kihagyhatja ezt a folyamatot.
Jelentkezzen be a https://portal.azure.com webhelyen.
Válassza az Összes szolgáltatás, majd az Identitás, majd a Microsoft Entra-azonosító lehetőséget.
Írja be a Szervezet nevét és a Kezdeti tartománynevet. Másolja ki a könyvtár teljes URL-címét. Az OKTATÓANYAG későbbi részében az URL-cím használatával vehet fel felhasználói fiókokat. (Például:
azuresampledirectory.onmicrosoft.com
)Másolja ki a könyvtár teljes URL-címét. Az OKTATÓANYAG későbbi részében az URL-cím használatával vehet fel felhasználói fiókokat. (Például:
azuresampledirectory.onmicrosoft.com
.).Ha végzett, válassza a Létrehozás lehetőséget. Az új erőforrás létrehozása néhány percet vesz igénybe.
Ha elkészült, válassza a megjelenített hivatkozást az új könyvtár eléréséhez.
Másolja ki a bérlőazonosítót. Az id érték használatával konfigurálhatja az application.properties fájlt az oktatóanyag későbbi részében.
Alkalmazásregisztráció hozzáadása a Spring Boot-alkalmazáshoz
A portál menüjében válassza a Alkalmazásregisztrációk, majd az Alkalmazás regisztrálása lehetőséget.
Adja meg az alkalmazást, majd válassza a Regisztráció lehetőséget.
Amikor megjelenik az alkalmazásregisztráció lapja, másolja ki az alkalmazás (ügyfél) azonosítóját és a címtár (bérlő) azonosítóját. Ezekkel az értékekkel konfigurálhatja az application.properties fájlt az oktatóanyag későbbi részében.
Válassza a Tanúsítványok > titkos kulcsok lehetőséget a bal oldali navigációs panelen. Ezután válassza az Új ügyfélkulcs lehetőséget.
Adjon hozzá egy Leírást, és válassza ki az időtartamot a Lejárat listában. Válassza a Hozzáadás lehetőséget. A kulcshoz tartozó értéket automatikusan kitölti a rendszer.
Másolja ki és mentse a titkos ügyfélkód értékét az application.properties fájl konfigurálásához az oktatóanyag későbbi részében. (Ezt az értéket később nem fogja tudni lekérni.)
Az alkalmazásregisztráció fő lapján válassza a Hitelesítés lehetőséget, majd válassza a Platform hozzáadása lehetőséget. Ezután válassza ki a webalkalmazásokat.
Adjon meg http://localhost:8080/login/oauth2/code/ új átirányítási URI-t, majd válassza a Konfigurálás lehetőséget.
Ha a pom.xml fájlt úgy módosította, hogy a Microsoft Entra 3.0.0-nál korábbi verzióját használja: az Implicit engedélyezési és hibrid folyamatok területen válassza ki az azonosító jogkivonatokat (implicit és hibrid folyamatokhoz), majd válassza a Mentés lehetőséget.
Felhasználói fiók hozzáadása a címtárhoz, és a fiók hozzáadása egy appRole-hoz
Az Active Directory Áttekintés lapján válassza a Felhasználók, majd az Új felhasználó lehetőséget.
Amikor megjelenik a Felhasználó panel, adja meg a Felhasználónevet és a Nevet. Válassza a Létrehozás parancsot.
Feljegyzés
A felhasználónév megadásakor meg kell adnia a címtár URL-címét az oktatóanyag korábbi szakaszából. Példa:
test-user@azuresampledirectory.onmicrosoft.com
Az alkalmazásregisztráció fő lapján válassza az Alkalmazásszerepkörök lehetőséget, majd válassza az Alkalmazásszerepkör létrehozása lehetőséget. Adja meg az űrlapmezők értékeit, válassza a Do you want to enable this app role?, then select Apply (Alkalmazás) lehetőséget.
A Microsoft Entra könyvtár Áttekintés lapján válassza a Nagyvállalati alkalmazások lehetőséget.
Válassza a Minden alkalmazás lehetőséget, majd válassza ki azt az alkalmazást, amelybe az előző lépésben hozzáadta az alkalmazásszerepkört.
Válassza a Felhasználók és csoportok lehetőséget, majd a Felhasználó/csoport hozzáadása lehetőséget.
A Felhasználók csoportban válassza a Nincs kijelölve lehetőséget. Jelölje ki a korábban létrehozott felhasználót, válassza a Kiválasztás, majd a Hozzárendelés lehetőséget. Ha korábban több alkalmazásszerepkört is létrehozott, válasszon ki egy szerepkört.
Lépjen vissza a Felhasználók panelre, válassza ki a tesztfelhasználót, és válassza a Jelszó kérése lehetőséget, és másolja a jelszót. A jelszót akkor fogja használni, amikor az oktatóanyag későbbi részében bejelentkezik az alkalmazásba.
Az alkalmazás konfigurálása és fordítása
Csomagolja ki a fájlokat a korábban létrehozott és letöltött projektarchívumból egy könyvtárba.
Lépjen a projekt src/main/resources mappájába, majd nyissa meg az application.properties fájlt egy szövegszerkesztőben.
Adja meg az alkalmazásregisztráció beállításait a korábban létrehozott értékekkel. Példa:
# Enable related features. spring.cloud.azure.active-directory.enabled=true # Specifies your Active Directory ID: spring.cloud.azure.active-directory.profile.tenant-id=22222222-2222-2222-2222-222222222222 # Specifies your App Registration's Application ID: spring.cloud.azure.active-directory.credential.client-id=11111111-1111-1111-1111-1111111111111111 # Specifies your App Registration's secret key: spring.cloud.azure.active-directory.credential.client-secret=AbCdEfGhIjKlMnOpQrStUvWxYz==
Ahol:
Paraméter Leírás spring.cloud.azure.active-directory.enabled
A spring-cloud-azure-starter-active-directory által biztosított szolgáltatások engedélyezése spring.cloud.azure.active-directory.profile.tenant-id
Az Active Directory korábban megadott Címtár-azonosítóját tartalmazza. spring.cloud.azure.active-directory.credential.client-id
A korábban elvégzett alkalmazásregisztráció Alkalmazásazonosítóját tartalmazza. spring.cloud.azure.active-directory.credential.client-secret
A korábban elvégzett alkalmazásregisztrációból származó kulcs Értékét tartalmazza. Mentse és zárja be az application.properties fájlt.
Hozzon létre egy controller nevű mappát az alkalmazás Java-forrásmappájában. Például: src/main/java/com/wingtiptoys/security/controller.
Hozzon létre egy új, HelloController.java nevű fájlt a controller mappában, majd nyissa meg egy szövegszerkesztőben.
Gépelje be a következő kódot, majd mentse és zárja be a fájlt:
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"; } }
Az alkalmazás összeállítása és tesztelése
Nyisson meg egy parancssort, és váltson a címtár azon mappájára, ahol az alkalmazás pom.xml fájlja található.
Állítsa össze a Spring Boot-alkalmazást a Mavennel, és futtassa. Példa:
mvn clean package mvn spring-boot:run
Miután az alkalmazást a Maven felépítette és elindította, nyisson meg
http://localhost:8080/Admin
egy webböngészőben. Meg kell kérnie a felhasználónevet és a jelszót.Feljegyzés
AZ új felhasználói fiókba való első bejelentkezéskor a rendszer arra kérheti, hogy változtassa meg jelszavát.
Miután sikeresen bejelentkezett, látnia kell a vezérlő "Rendszergazda üzenet" mintáját.
Összegzés
Ebben az oktatóanyagban létrehozott egy új Java-webalkalmazást a Microsoft Entra starter használatával, konfigurált egy új Microsoft Entra-bérlőt, regisztrált egy új alkalmazást a bérlőben, majd úgy konfigurálta az alkalmazást, hogy a Spring-széljegyzetek és osztályok használatával védje a webalkalmazást.
Lásd még
- Az új felhasználói felületi beállításokkal kapcsolatos információkért tekintse meg az Új Azure Portal alkalmazásregisztrációs képzési útmutatóját
Következő lépések
Ha szeretne többet megtudni a Spring és az Azure szolgáltatásról, lépjen tovább a Spring on Azure dokumentációs központra.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: