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 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 lapra, amikor névtelenül fér hozzá. Az alábbi képernyőképen a Microsoft Entra bejelentkezési oldala látható:

Képernyőkép a Spring-webalkalmazás Microsoft Entra bejelentkezési oldaláról.

Előfeltételek

A cikkben ismertetett lépések végrehajtásához a következő előfeltételekre van szükség:

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. Keresse meg a https://start.spring.io/.

  2. Adja meg, hogy létre szeretne-e hozni egy Maven-projektetJava. Adja meg az alkalmazás csoport - és összetevőneveit .

  3. Adja hozzá a függőségeketa Spring Webhez és az OAuth2 ügyfélhez.

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

  5. Amikor a rendszer kéri, töltse le a projektet a helyi számítógépen található elérési útra.

A Microsoft Entra-függőség hozzáadása

  1. Bontsa ki a letöltött projektfájlokat a helyi számítógép egyik könyvtárába.

  2. Nyissa meg a pom.xml fájlt egy szövegszerkesztőben.

  3. Adja hozzá a Spring Cloud Azure Anyagjegyzéket (BOM) a <dependencyManagement> szakaszhoz.

    <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>
    
  4. Adja hozzá a Spring Cloud Azure Starter Microsoft Entra függőséget a <dependencies> szakaszhoz.

    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
    </dependency>
    
  5. Mentse és zárja be a pom.xml fájlt.

A Microsoft Entra-példány létrehozása

Ha Ön egy meglévő példány rendszergazdája, kihagyhatja ezt a folyamatot.

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

  2. Válassza Minden szolgáltatás, majd Identitás, majd Microsoft Entra-azonosító.

  3. Adja meg 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 létrehozása 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 a bérlőazonosítót. Az azonosító é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 Alkalmazásregisztrációk, majd az Alkalmazás regisztrálásalehetőséget.

  2. Adja meg az alkalmazás nevét, majd válassza a Regisztráláslehetőséget.

  3. Amikor megjelenik az alkalmazásregisztráció lapja, másolja ki az alkalmazás (ügyfél) azonosítóját és a bérlőazonosítót. Ezekkel az értékekkel konfigurálhatja az application.properties fájlt az oktatóanyag későbbi részében.

  4. Válassza tanúsítványok & titkok a navigációs panelen. Ezután válassza Új titkos ügyfélkódlehetőséget.

  5. Adjon hozzá egy leírást, és válassza ki az időtartamot a Lejárati listában. Válassza , adja hozzá. A rendszer automatikusan kitölti a kulcs értékét.

  6. Másolja és mentse az ügyfélkulcs é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 lehet lekérni.)

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

  7. Az alkalmazásregisztráció fő lapján válassza a Hitelesítéslehetőséget, majd válassza a Platform hozzáadásalehetőséget. Ezután válassza webalkalmazásoklehetőséget.

  8. Új Átirányítási URI-esetén adja meg a http://localhost:8080/login/oauth2/code/, majd válassza a konfigurálása lehetőséget.

  9. Ha a pom.xml fájlt úgy módosította, hogy Microsoft Entra a 3.0.0-nál korábbi kezdőverzió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 és Microsoft Entra alkalmazásszerepkör hozzárendelése

  1. A Microsoft Entra ID-bérlő Áttekintés lapján válassza a Felhasználók lehetőséget, majd az Új felhasználó lehetőséget.

  2. Amikor megjelenik a Felhasználói panel, adja meg a Felhasználónév és a Név. Ezután válassza a létrehozása opciót.

    Képernyőkép a felhasználói fiók létrehozásához használt Új felhasználó párbeszédpanelről.

    Jegyzet

    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éldául:

    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?, and select Apply (Alkalmazás) lehetőséget.

    Képernyőkép az alkalmazás

  4. A Microsoft Entra-címtár Áttekintés lapján válassza Nagyvállalati alkalmazásoklehető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 válassza a Felhasználó/csoport hozzáadása lehetőséget.

  7. A Felhasználókcsoportban válassza a Nincs kiválasztvalehető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. Másolja ki a jelszót. A jelszót akkor használja, 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. Bontsa ki a fájlokat az oktatóanyag korábbi részében létrehozott és letöltött projektarchívumból egy könyvtárba.

  2. Nyissa meg a projekt src/main/resources mappáját, 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éldául:

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

    Hol:

    Paraméter Leírás
    spring.cloud.azure.active-directory.enabled Engedélyezi a . által spring-cloud-azure-starter-active-directorybiztosított funkciókat.
    spring.cloud.azure.active-directory.profile.tenant-id A Microsoft Entra ID-bérlő korábbi bérlőazonosítóját tartalmazza.
    spring.cloud.azure.active-directory.credential.client-id A korábban befejezett alkalmazásregisztrációból származó alkalmazásazonosító-et tartalmaz.
    spring.cloud.azure.active-directory.credential.client-secret Az alkalmazásregisztrációs kulcs, amelyet korábban befejezett, tartalmazza a értéket.
  4. Mentse és zárja be az application.properties fájlt.

  5. Hozzon létre egy vezérlő 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 HelloController.java nevű új Java-fájlt a vezérlő mappában, és nyissa meg egy szövegszerkesztőben.

  7. Írja 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 létrehozása és tesztelése

  1. Nyisson meg egy parancssort, és módosítsa a könyvtárat arra a mappára, amelyben az alkalmazás pom.xml fájlja található.

  2. Hozza létre Spring Boot-alkalmazását a Mavennel, és futtassa. Például:

    mvn clean package
    mvn spring-boot:run
    
  3. Miután a Maven felépíti és elindítja az alkalmazást, nyisson meg http://localhost:8080/Admin egy webböngészőben. A rendszer felhasználónevet és jelszót kér.

    Képernyőkép az alkalmazás

    Jegyzet

    Előfordulhat, hogy a rendszer arra kéri, hogy módosítsa a jelszavát, ha ez az első bejelentkezés egy új felhasználói fiókhoz.

    Képernyőkép az alkalmazás

  4. A sikeres bejelentkezés után megjelenik a vezérlő "Rendszergazdai üzenet" mintája.

    Alkalmazásadminisztrátor üzenet képernyőképe.

Összefoglalá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 többet szeretne megtudni a Springről és az Azure-ról, lépjen tovább a Spring on Azure dokumentációs központjába.