Delen via


Aanmelden met Microsoft Entra-account toevoegen aan een Spring-web-app

Dit artikel laat zien hoe u een Spring-webapplicatie ontwikkelt die aanmelden ondersteunt met een Microsoft Entra-account. Nadat alle stappen in dit artikel zijn afgerond, wordt de web-app omgeleid naar de aanmeldingspagina van Microsoft Entra wanneer deze anoniem wordt geopend. In de volgende schermopname ziet u de aanmeldingspagina van Microsoft Entra:

schermopname van het dialoogvenster Aanmelden.

Voorwaarden

De volgende vereisten zijn vereist om de stappen in dit artikel uit te voeren:

Belangrijk

Spring Boot versie 2.5 of hoger is vereist om de stappen in dit artikel uit te voeren.

Een app maken met Spring Initializr

  1. Blader naar https://start.spring.io/.

  2. Geef op dat u een Maven--project wilt genereren met Java-, voer de Groep en Artifact namen voor uw toepassing in.

  3. Voeg afhankelijkheden toe voor Spring Web, Microsoft Entra IDen OAuth2-client.

  4. Selecteer onder aan de pagina de knop GENEREREN.

  5. Wanneer u hierom wordt gevraagd, downloadt u het project naar een pad op uw lokale computer.

Microsoft Entra-exemplaar maken

Het Active Directory-exemplaar maken

Als u de beheerder van een bestaand exemplaar bent, kunt u dit proces overslaan.

  1. Meld u aan bij https://portal.azure.com.

  2. Selecteer Alle services, dan Identityen vervolgens Microsoft Entra ID.

  3. Voer de naam van uw organisatie in en uw initiële domeinnaam. Kopieer de volledige URL van uw map. U gebruikt de URL om later in deze zelfstudie gebruikersaccounts toe te voegen. (Bijvoorbeeld: azuresampledirectory.onmicrosoft.com.)

    Kopieer de volledige URL van uw map. U gebruikt de URL om later in deze zelfstudie gebruikersaccounts toe te voegen. (Bijvoorbeeld: azuresampledirectory.onmicrosoft.com.).

    Wanneer u klaar bent, selecteert u maken. Het maken van de nieuwe resource duurt enkele minuten.

  4. Wanneer u klaar bent, selecteert u de weergegeven koppeling om toegang te krijgen tot de nieuwe map.

  5. Kopieer de Tenant-ID. U gebruikt de id-waarde om uw application.properties bestand later in deze tutorial te configureren.

Een toepassingsregistratie voor uw Spring Boot-app toevoegen

  1. Selecteer in het portalmenu App-registratiesen selecteer vervolgens Een toepassing registreren.

  2. Geef uw toepassing op en selecteer vervolgens 'Registreer'.

  3. Wanneer de pagina voor uw app-registratie wordt weergegeven, kopieert u uw Toepassings-id (client)-id en de Directory-id (tenant). U gebruikt deze waarden om uw application.properties-bestand verderop in deze zelfstudie te configureren.

  4. Selecteer Certificaten & Secrets in het navigatiedeelvenster. Selecteer vervolgens Nieuw clientgeheim.

    Schermopname van het scherm van de toepassing 'Certificaten & geheimen' met 'Nieuw cliëntgeheim' gemarkeerd.

  5. Voeg een beschrijving toe en selecteer de duur in de Verloopt-lijst. Selecteer toevoegen. De waarde voor de sleutel wordt automatisch ingevuld.

  6. Kopieer en sla de waarde van het clientgeheim op om uw application.properties-bestand verderop in deze zelfstudie te configureren. (U kunt deze waarde later niet meer ophalen.)

    Schermopname van de toepassing met nieuw clientgeheim gemarkeerd.

  7. Selecteer op de hoofdpagina voor uw app-registratie Verificatieen selecteer Een platform toevoegen. Selecteer vervolgens webtoepassingen.

  8. Voor een nieuwe omleidings-URI, voer http://localhost:8080/login/oauth2/code/in en selecteer Configureer.

  9. Als u het pom.xml-bestand hebt gewijzigd om een Microsoft Entra Starter-versie te gebruiken die ouder is dan 3.0.0: selecteer onder Impliciete toekenning en hybride stromenid-tokens (gebruikt voor impliciete en hybride stromen)en selecteer vervolgens Opslaan.

Voeg een gebruikersaccount toe aan uw directory en voeg dat account toe aan een appRole

  1. Selecteer op de pagina Overzicht van Active Directory Gebruikersen selecteer vervolgens Nieuwe gebruiker.

  2. Wanneer het deelvenster Gebruiker wordt weergegeven, voert u de gebruikersnaam en naamin. Selecteer vervolgens maken.

    Schermopname van het dialoogvenster 'Nieuwe gebruiker'.

    Notitie

    U moet uw adreslijst-URL opgeven van eerder in deze zelfstudie wanneer u de gebruikersnaam invoert. Bijvoorbeeld:

    test-user@azuresampledirectory.onmicrosoft.com

  3. Selecteer op de hoofdpagina voor uw app-registratie App-rollenen selecteer vervolgens App-rol maken. Geef waarden op voor de formuliervelden, selecteer Wilt u deze app-rol inschakelen?en selecteer vervolgens toepassen.

    Schermopname van het scherm 'App-rollen' van de applicatie met het deelvenster 'App-rol maken' zichtbaar.

  4. Selecteer op de pagina Overzicht van uw Microsoft Entra-directory de Enterprise-toepassingen.

  5. Selecteer Alle toepassingenen selecteer vervolgens de toepassing waaraan u de app-rol in een vorige stap hebt toegevoegd.

  6. Selecteer gebruikers en groepenen selecteer vervolgens Gebruiker/groep toevoegen.

  7. Onder Gebruikers, selecteer Geen geselecteerd. Selecteer de gebruiker die u eerder hebt gemaakt, selecteer Selecteeren selecteer vervolgens Toewijzen. Als u meer dan één app-rol eerder hebt gemaakt, selecteert u een rol.

  8. Ga terug naar het deelvenster Gebruikers, selecteer uw testgebruiker en selecteer Wachtwoord opnieuw instellenen kopieer het wachtwoord. Je gebruikt het wachtwoord wanneer je je later in deze tutorial aanmeldt bij je applicatie.

Uw app configureren en compileren

  1. Pak de bestanden uit het projectarchief dat u eerder in deze zelfstudie hebt gemaakt en gedownload en plaats ze in een map.

  2. Navigeer naar de map src/main/resources in uw project en open vervolgens het bestand application.properties in een teksteditor.

  3. Geef de instellingen voor uw app-registratie op met behulp van de waarden die u eerder hebt gemaakt. Bijvoorbeeld:

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

    Waar:

    Parameter Beschrijving
    spring.cloud.azure.active-directory.enabled De functies van spring-cloud-azure-starter-active-directory inschakelen
    spring.cloud.azure.active-directory.profile.tenant-id Bevat eerder de Directory ID van uw Active Directory.
    spring.cloud.azure.active-directory.credential.client-id Bevat de toepassings-id van uw app-registratie die u eerder hebt voltooid.
    spring.cloud.azure.active-directory.credential.client-secret Bevat de waarde van uw app-registratiesleutel die u eerder hebt voltooid.
  4. Sla het bestand application.properties op en sluit het.

  5. Maak een map met de naam controller in de Java-bronmap voor uw toepassing. Bijvoorbeeld: src/main/java/com/wingtiptoys/security/controller.

  6. Maak een nieuw Java-bestand met de naam HelloController.java in de controller map en open het in een teksteditor.

  7. Voer de volgende code in en sla het bestand op en sluit het:

    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";
         }
    }
    

Uw app bouwen en testen

  1. Open een opdrachtprompt en wijzig de map in de map waarin het pom.xml bestand van uw app zich bevindt.

  2. Bouw uw Spring Boot-toepassing met Maven en voer deze uit. Bijvoorbeeld:

    mvn clean package
    mvn spring-boot:run
    
  3. Nadat uw toepassing is gemaakt en gestart door Maven, opent u http://localhost:8080/Admin in een webbrowser. U wordt gevraagd om een gebruikersnaam en wachtwoord.

    schermopname van het dialoogvenster Aanmelden.

    Notitie

    U wordt mogelijk gevraagd uw wachtwoord te wijzigen als dit de eerste aanmelding voor een nieuw gebruikersaccount is.

    Schermopname van het dialoogvenster Uw wachtwoord bijwerken.

  4. Nadat u zich hebt aangemeld, ziet u de voorbeeldtekst 'Beheerbericht' van de controller.

    schermopname van het bericht van de toepassingsbeheerder.

Samenvatting

In deze zelfstudie hebt u een nieuwe Java-webtoepassing gemaakt met behulp van de Microsoft Entra-starter, een nieuwe Microsoft Entra-tenant geconfigureerd, een nieuwe toepassing geregistreerd in de tenant en vervolgens uw toepassing geconfigureerd voor het gebruik van de Spring-aantekeningen en -klassen om de web-app te beveiligen.

Zie ook

Volgende stappen

Ga naar het Documentatiecentrum van Spring op Azure voor meer informatie over Spring en Azure.