Megosztás a következőn keresztül:


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ó:

Képernyőkép az alkalmazás

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

  1. Nyissa meg a következő címet: https://start.spring.io/.

  2. 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.

  3. Függőségek hozzáadása a Spring Webhez, a Microsoft Entra-azonosítóhoz és az OAuth2-ügyfélhez.

  4. A lap alján válassza a GENERATE gombot.

  5. 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.

  1. Jelentkezzen be a https://portal.azure.com webhelyen.

  2. Válassza az Összes szolgáltatás, majd az Identitás, majd a Microsoft Entra-azonosító lehetőséget.

  3. Í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.

  4. Ha elkészült, válassza a megjelenített hivatkozást az új könyvtár eléréséhez.

  5. 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

  1. A portál menüjében válassza a Alkalmazásregisztrációk, majd az Alkalmazás regisztrálása lehetőséget.

  2. Adja meg az alkalmazást, majd válassza a Regisztráció lehetőséget.

  3. 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.

  4. 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.

    Képernyőkép az alkalmazás

  5. 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.

  6. 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.)

    Képernyőkép az alkalmazásról az új ügyfélkód kiemelésével.

  7. 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.

  8. 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.

  9. 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

  1. Az Active Directory Áttekintés lapján válassza a Felhasználók, majd az Új felhasználó lehetőséget.

  2. Amikor megjelenik a Felhasználó panel, adja meg a Felhasználónevet és a Nevet. Válassza a Létrehozás parancsot.

    Képernyőkép az

    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

  3. 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.

    Képernyőkép az alkalmazásszerepkörök képernyőjéről, amelyen az

  4. A Microsoft Entra könyvtár Áttekintés lapján válassza a Nagyvállalati alkalmazások lehetőséget.

  5. 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.

  6. Válassza a Felhasználók és csoportok lehetőséget, majd a Felhasználó/csoport hozzáadása lehetőséget.

  7. 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.

  8. 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

  1. Csomagolja ki a fájlokat a korábban létrehozott és letöltött projektarchívumból egy könyvtárba.

  2. Lépjen a projekt src/main/resources mappájába, majd nyissa meg az application.properties fájlt egy szövegszerkesztőben.

  3. 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.
  4. Mentse és zárja be az application.properties fájlt.

  5. 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.

  6. Hozzon létre egy új, HelloController.java nevű fájlt a controller mappában, majd nyissa meg egy szövegszerkesztőben.

  7. 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

  1. 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ó.

  2. Állítsa össze a Spring Boot-alkalmazást a Mavennel, és futtassa. Példa:

    mvn clean package
    mvn spring-boot:run
    
  3. 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.

    Képernyőkép az alkalmazás

    Feljegyzés

    AZ új felhasználói fiókba való első bejelentkezéskor a rendszer arra kérheti, hogy változtassa meg jelszavát.

    Képernyőkép az alkalmazás

  4. Miután sikeresen bejelentkezett, látnia kell a vezérlő "Rendszergazdai üzenet" szövegmintáját.

    Képernyőkép az alkalmazásadminisztrátor üzenetéről.

Ö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

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.