Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 Microsoft Entra aanmeldingspagina wanneer deze anoniem wordt geopend. In de volgende schermopname ziet u de aanmeldingspagina van Microsoft Entra:
Voorwaarden
Voor het voltooien van de stappen in dit artikel hebt u de volgende vereisten nodig:
- Een ondersteunde Java Development Kit (JDK). Zie Java-ondersteuning voor Azure en Azure Stackvoor meer informatie over de JDK's die beschikbaar zijn voor gebruik bij het ontwikkelen in Azure.
- Apache Mavenversie 3.0 of hoger.
- Een Azure-abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account.
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
Blader naar https://start.spring.io/.
Geef op dat u een Maven-project wilt genereren met Java. Voer de namen van groepen en artefacten in voor uw toepassing.
Voeg afhankelijkheden toe voor Spring Web en OAuth2-client.
Selecteer onder aan de pagina de knop GENEREREN.
Wanneer u hierom wordt gevraagd, downloadt u het project naar een pad op uw lokale computer.
De Microsoft Entra-afhankelijkheid toevoegen
Pak de gedownloade projectbestanden uit naar een map op uw lokale computer.
Open het pom.xml-bestand in een teksteditor.
Voeg de Spring Cloud Azure Stuklijst (Bill of Materials) toe aan de
<dependencyManagement>sectie.<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>Voeg de Spring Cloud Azure Starter-Microsoft Entra afhankelijkheid toe aan de
<dependencies>sectie.<dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-active-directory</artifactId> </dependency>Sla het pom.xml bestand op en sluit het.
Het Microsoft Entra-exemplaar maken
Als u de beheerder van een bestaand exemplaar bent, kunt u dit proces overslaan.
Meld u aan bij https://portal.azure.com.
Selecteer Alle services, dan Identityen vervolgens Microsoft Entra ID.
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.
Wanneer u klaar bent, selecteert u de weergegeven koppeling om toegang te krijgen tot de nieuwe map.
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
Selecteer in het portalmenu App-registratiesen selecteer vervolgens Een toepassing registreren.
Geef uw toepassing op en selecteer vervolgens 'Registreer'.
Wanneer de pagina voor uw app-registratie wordt weergegeven, kopieert u de toepassings-id (client) en de tenant-id. Gebruik deze waarden om het bestand application.properties verderop in deze zelfstudie te configureren.
Selecteer Certificaten & Secrets in het navigatiedeelvenster. Selecteer vervolgens Nieuw clientgeheim.
Voeg een beschrijving toe en selecteer de duur in de Verloopt-lijst. Selecteer toevoegen. De waarde voor de sleutel wordt automatisch ingevuld.
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 ophalen.)
Selecteer op de hoofdpagina voor uw app-registratie Verificatieen selecteer Een platform toevoegen. Selecteer vervolgens webtoepassingen.
Voor een nieuwe omleidings-URI, voer
http://localhost:8080/login/oauth2/code/in en selecteer Configureer.Als u het pom.xml-bestand hebt gewijzigd om een Microsoft Entra startersversie 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.
Een gebruikersaccount toevoegen en een Microsoft Entra-app-rol toewijzen
Selecteer gebruikers op de pagina Overzicht van uw Microsoft Entra ID-tenant en selecteer vervolgens Nieuwe gebruiker.
Wanneer het deelvenster Gebruiker wordt weergegeven, voert u de gebruikersnaam en naamin. Selecteer vervolgens maken.
Notitie
U moet uw adreslijst-URL opgeven van eerder in deze zelfstudie wanneer u de gebruikersnaam invoert. Bijvoorbeeld:
test-user@azuresampledirectory.onmicrosoft.comSelecteer app-rollen op de hoofdpagina voor uw app-registratie en selecteer vervolgens App-rol maken. Geef waarden op voor de formuliervelden, selecteer Wilt u deze app-rol inschakelen? en selecteer Vervolgens Toepassen.
Selecteer op de pagina Overzicht van uw Microsoft Entra-directory de Enterprise-toepassingen.
Selecteer Alle toepassingen en selecteer vervolgens de toepassing waaraan u de app-rol in een vorige stap hebt toegevoegd.
Selecteer Gebruikers en groepen en selecteer vervolgens Gebruiker/groep toevoegen.
Onder Gebruikers, selecteer Geen geselecteerd. Selecteer de gebruiker die u eerder hebt gemaakt, selecteer Selecteren en selecteer vervolgens Toewijzen. Als u meer dan één app-rol eerder hebt gemaakt, selecteert u een rol.
Ga terug naar het deelvenster Gebruikers , selecteer uw testgebruiker en selecteer Wachtwoord opnieuw instellen. Kopieer het wachtwoord. U gebruikt het wachtwoord wanneer u zich verderop in deze zelfstudie aanmeldt bij uw toepassing.
Uw app configureren en compileren
Pak de bestanden uit het projectarchief dat u eerder in deze zelfstudie hebt gemaakt en gedownload en plaats ze in een map.
Ga naar de map src/main/resources in uw project en open het bestand application.properties in een teksteditor.
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 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>Waar:
Kenmerk Beschrijving spring.cloud.azure.active-directory.enabledHiermee schakelt u de functies van spring-cloud-azure-starter-active-directory.spring.cloud.azure.active-directory.profile.tenant-idBevat de tenant-id van uw Microsoft Entra ID-tenant van eerder. spring.cloud.azure.active-directory.credential.client-idBevat de toepassings-id van uw app-registratie die u eerder hebt voltooid. spring.cloud.azure.active-directory.credential.client-secretBevat de waarde van uw app-registratiesleutel die u eerder hebt voltooid. Sla het bestand application.properties op en sluit het.
Maak een map met de naam controller in de Java-bronmap voor uw toepassing. Bijvoorbeeld: src/main/java/com/wingtiptoys/security/controller.
Maak een nieuw Java-bestand met de naam HelloController.java in de controller map en open het in een teksteditor.
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
Open een opdrachtprompt en wijzig de map in de map waarin het pom.xml bestand van uw app zich bevindt.
Bouw uw Spring Boot-toepassing met Maven en voer deze uit. Bijvoorbeeld:
mvn clean package mvn spring-boot:runNadat Maven uw toepassing heeft gemaakt en gestart, opent
http://localhost:8080/Adminu deze in een webbrowser. U wordt gevraagd om een gebruikersnaam en wachtwoord.
Notitie
Mogelijk wordt u gevraagd uw wachtwoord te wijzigen als dit de eerste aanmelding is voor een nieuw gebruikersaccount.
Nadat u zich hebt aangemeld, ziet u de voorbeeldtekst 'Beheerbericht' van de controller.
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
- Zie de trainingshandleiding voor nieuwe Azure portal-app-registratie voor meer informatie over nieuwe ui-opties.
Volgende stappen
Ga naar het Documentatiecentrum van Spring op Azure voor meer informatie over Spring en Azure.