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.
In dit artikel wordt een Java Spring Boot-web-app beschreven die gebruikmaakt van de Microsoft Entra ID Spring Boot Starter-clientbibliotheek voor Java voor verificatie, autorisatie en tokenverwerving. De app gebruikt het OpenID Connect-protocol om gebruikers aan te melden en beperkt de toegang tot sommige routes via Microsoft Entra ID Application Roles (app-rollen) voor autorisatie.
App-rollen, samen met beveiligingsgroepen, zijn populaire manieren om autorisatie te implementeren. Met op rollen gebaseerd toegangsbeheer (RBAC) met toepassingsrollen en rolclaims kunt u met minimale inspanning autorisatiebeleid afdwingen. Een andere benadering is het gebruik van Microsoft Entra-id-groepen en groepsclaims. Microsoft Entra ID-groepen en toepassingsrollen sluiten elkaar niet wederzijds uit. U kunt ze beide gebruiken om gedetailleerd toegangsbeheer te bieden.
Zie voor een video over een vergelijkbaar scenario Autorisatie implementeren in uw toepassingen met app-rollen, beveiligingsgroepen, scopes en directoryrollen.
Zie Authenticatie versus autorisatie voor meer informatie over hoe de protocollen in dit scenario en andere scenario’s werken.
In het volgende diagram ziet u de topologie van de app:
Diagram dat de topologie van de app toont.
De app maakt gebruik van de Microsoft Entra ID Spring Boot Starter-clientbibliotheek voor Java om een gebruiker aan te melden en een ID-token van Microsoft Entra ID te verkrijgen. Het id-token bevat de rollenclaim. De toepassing inspecteert de waarde van deze claim om te bepalen welke pagina's de gebruiker mag openen.
Dit type autorisatie wordt geïmplementeerd met RBAC. Met RBAC verleent een beheerder machtigingen aan rollen, niet aan afzonderlijke gebruikers of groepen. De beheerder kan vervolgens rollen toewijzen aan verschillende gebruikers en groepen om te bepalen wie toegang heeft tot bepaalde inhoud en functionaliteit.
Deze voorbeeldtoepassing definieert de volgende twee toepassingsrollen:
- : Heeft toegang tot de pagina's Alleen beheerders en Normale gebruikers.
- : Geautoriseerd om de Reguliere gebruikers-pagina te openen.
Deze toepassingsrollen worden gedefinieerd in het Azure-portal in het registratiemanifest van de toepassing. Wanneer een gebruiker zich aanmeldt bij de toepassing, verzendt Microsoft Entra ID een rolclaim voor elke rol die afzonderlijk aan de gebruiker wordt verleend in de vorm van rollidmaatschap.
U kunt gebruikers en groepen toewijzen aan rollen via Azure Portal.
Notitie
Roldeclaraties zijn niet beschikbaar voor gastgebruikers in een tenant als het -eindpunt als autoriteit wordt gebruikt om gebruikers aan te melden. U moet een gebruiker laten aanmelden bij een tenantspecifiek eindpunt zoals .
Vereisten
- JDK versie 15. Dit voorbeeld is ontwikkeld op een systeem met Java 15, maar is mogelijk compatibel met andere versies.
- Maven 3
- Java Extension Pack for Visual Studio Code wordt aanbevolen om dit voorbeeld uit te voeren in Visual Studio Code.
- Een Microsoft Entra ID-tenant. Zie Een Microsoft Entra ID-tenant verkrijgen voor meer informatie.
- Een gebruikersaccount in uw Microsoft Entra ID-tenant. Dit voorbeeld werkt niet met een persoonlijk Microsoft-account. Als u zich met een persoonlijk account hebt aangemeld bij Azure Portal en u geen gebruikersaccount in uw directory hebt, moet u er nu een maken.
- Visual Studio Code
- Azure Tools voor Visual Studio Code
Aanbevelingen
- Enige bekendheid met het Spring Framework.
- Enige bekendheid met Linux/OSX-terminal.
- jwt.ms om uw tokens te inspecteren.
- Fiddler om uw netwerkactiviteit te controleren en problemen op te lossen.
- Volg de Microsoft Entra-blog om up-to-date te blijven met de nieuwste ontwikkelingen.
Het voorbeeld instellen
In de volgende secties ziet u hoe u de voorbeeldtoepassing instelt.
De voorbeeldopslagplaats klonen of downloaden
Als u het voorbeeld wilt klonen, opent u een Bash-venster en gebruikt u de volgende opdracht:
git clone https://github.com/Azure-Samples/ms-identity-msal-java-samples.git
cd 4-spring-web-app/3-Authorization-II/roles
U kunt ook naar de ms-identity-msal-java-samples-repository gaan, deze vervolgens als een .zip-bestand downloaden en op uw harde schijf uitpakken.
Belangrijk
Om beperkingen voor bestandspadlengten in Windows te voorkomen, kloont of extraheert u de opslagplaats in een map in de buurt van de hoofdmap van uw harde schijf.
De voorbeeldtoepassing registreren bij uw Microsoft Entra ID-tenant
Er is één project in dit voorbeeld. In de volgende secties ziet u hoe u de app registreert met behulp van Azure Portal.
Kies de Microsoft Entra ID-tenant waar u uw toepassingen wilt maken
Gebruik de volgende stappen om uw tenant te kiezen:
Meld u aan bij de Azure Portal.
Als uw account zich in meer dan één Microsoft Entra ID-tenant bevindt, selecteert u uw profiel in de hoek van de Azure-portal en selecteert u vervolgens Switch directory om uw sessie over te schakelen naar de gewenste Microsoft Entra ID-tenant.
Registreer de app (java-spring-webapp-roles)
Voer de volgende stappen uit om de app te registreren:
Ga naar het Azure-portal en selecteer Microsoft Entra ID.
Selecteer App-registraties in het navigatiedeelvenster en selecteer vervolgens Nieuwe registratie.
Voer op de pagina Een toepassing registreren die wordt weergegeven de volgende registratiegegevens voor de toepassing in:
- Voer in de sectie Name een duidelijke toepassingsnaam in om aan gebruikers van de app weer te geven, bijvoorbeeld .
- Onder Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst.
- Selecteer in de sectie Redirect-URI (optioneel) Web in de keuzelijst en voer de volgende redirect-URI in: .
Selecteer Registreren om de toepassing te maken.
Ga op de registratiepagina van de app naar de waarde van Toepassings-id (client) en kopieer deze om later te gebruiken. U gebruikt deze waarde in het configuratiebestand of de bestanden van uw app.
Selecteer certificaten en geheimen op de registratiepagina van de app in het navigatiedeelvenster om de pagina te openen waar u geheimen kunt genereren en certificaten kunt uploaden.
Selecteer in de sectie Clientgeheimen de optie Nieuw clientgeheim.
Typ een beschrijving, bijvoorbeeld app-geheim.
Selecteer een vervaldatum voor het geheim of geef een aangepaste levensduur op. Clientgeheimen zijn beperkt tot een maximale levensduur van 24 maanden en Microsoft adviseert een vervaldatum van minder dan 12 maanden. Voor productie-apps gebruikt u bij voorkeur een certificaat of federatieve identiteitsreferentie in plaats van een clientgeheim.
Selecteer Toevoegen. De gegenereerde waarde wordt weergegeven.
Kopieer en sla de gegenereerde waarde op voor gebruik in latere stappen. U hebt deze waarde nodig voor de configuratiebestanden van uw code. Deze waarde wordt niet opnieuw weergegeven en u kunt deze niet op een andere manier ophalen. Zorg er dus voor dat u deze opslaat in Azure Portal voordat u naar een ander scherm of deelvenster navigeert.
De app-rollen definiëren
Gebruik de volgende stappen om de app-rollen te definiëren:
Selecteer in dezelfde app-registratie nog steeds App roles in het navigatievenster.
Selecteer App-rol maken en voer vervolgens de volgende waarden in:
- Voer voor Weergavenaam een geschikte naam in, bijvoorbeeld PrivilegedAdmin.
- Kies voor Toegestane lidtypen de optie Gebruiker.
- Voor Value voert u PrivilegedAdmin in.
- Voer voor Beschrijving PrivilegedAdmins die de beheerderspagina kunnen bekijken in.
Selecteer App-rol maken en voer vervolgens de volgende waarden in:
- Voer voor Weergavenaam een geschikte naam in, bijvoorbeeld RegularUser.
- Kies voor Toegestane lidtypen de optie Gebruiker.
- Voer bij Waarde RegularUser in.
- Voer bij Description RegularUsers die de User Page kunnen bekijken in.
Selecteer Toepassen om uw wijzigingen op te slaan.
Gebruikers toewijzen aan toepassingsrollen
Als u gebruikers wilt toevoegen aan de approl die eerder is gedefinieerd, volgt u de richtlijnen hier: Gebruikers en groepen toewijzen aan rollen.
De app (java-spring-webapp-roles) configureren om uw app-registratie te gebruiken
Gebruik de volgende stappen om de app te configureren:
Notitie
In de volgende stappen is hetzelfde als of .
Open het project in uw IDE.
Open het bestand src\main\resources\application.yml .
Zoek de plaatsaanduiding en vervang de bestaande waarde door uw Microsoft Entra-tenant-id.
Zoek de plaatsaanduiding en vervang de bestaande waarde door de toepassings-id of van de -app die uit de Azure-portal is gekopieerd.
Zoek de placeholder en vervang de bestaande waarde door de waarde die u hebt opgeslagen tijdens het maken van , gekopieerd uit de Azure-portal.
Open het src/main/java/com/microsoft/azuresamples/msal4j/msidentityspringbootapplication/Sample.Controller.java-bestand.
Zoek de verwijzingen naar de - en -approllen in dit bestand. Wijzig deze indien nodig zodat deze overeenkomen met de namen van de app-rollen die u in de vorige stappen hebt gekozen.
De voorbeeldtoepassing uitvoeren
- Implementeren in Azure Container Apps
- Lokaal uitvoeren
In de volgende secties ziet u hoe u het voorbeeld implementeert in Azure Container Apps.
Vereisten
- Een Azure-account. Als u er nog geen hebt, maakt u een gratis account. U hebt de machtiging
ContributorofOwnervoor het Azure-abonnement nodig om door te gaan. Zie voor meer informatie Azure-rollen toewijzen via de Azure-portal. - De Azure CLI.
- De Azure Container Apps CLI-extensie, versie of hoger. Gebruik de opdracht om de nieuwste versie te installeren.
- Het Java Development Kit, versie 17 of hoger.
- Maven.
Het Spring-project voorbereiden
Gebruik de volgende stappen om het project voor te bereiden:
Gebruik de volgende Maven-opdracht om het project te bouwen:
mvn clean verifyVoer het voorbeeldproject lokaal uit met behulp van de volgende opdracht:
mvn spring-boot:run
Installatie
Als u zich wilt aanmelden bij Azure vanuit de CLI, voert u de volgende opdracht uit en volgt u de aanwijzingen om het verificatieproces te voltooien.
az login
Voer de upgradeopdracht uit om ervoor te zorgen dat u de nieuwste versie van de CLI uitvoert.
az upgrade
Installeer of werk vervolgens de Azure Container Apps-extensie voor de CLI bij.
Als u foutmeldingen krijgt over ontbrekende parameters wanneer u -opdrachten uitvoert in Azure CLI, controleer dan of u de meest recente versie van de Azure Container Apps-extensie hebt geïnstalleerd.
az extension add --name containerapp --upgrade
Notitie
Vanaf mei 2024 schakelen Azure CLI-extensies standaard geen preview-functies meer in. Als u toegang wilt tot de previewfuncties van Container Apps, installeert u de Container Apps-extensie met .
az extension add --name containerapp --upgrade --allow-preview true
Nu deze extensie of module is geïnstalleerd, registreert u de naamruimten en .
Notitie
Azure Container Apps-resources zijn verplaatst van de -naamruimte naar de -naamruimte. Raadpleeg de migratie van naamruimte van Microsoft.Web naar Microsoft.App in maart 2022 voor meer informatie.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
De Azure Container Apps-omgeving maken
Nu uw Azure CLI-installatie is voltooid, kunt u de omgevingsvariabelen definiëren die in dit artikel worden gebruikt.
Definieer de volgende variabelen in uw bash-shell.
export RESOURCE_GROUP="ms-identity-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-ms-identity-containerapps"
export API_NAME="ms-identity-api"
export JAR_FILE_PATH_AND_NAME="./target/ms-identity-spring-boot-webapp-0.0.1-SNAPSHOT.jar"
Maak een resourcegroep.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION \
Maak een omgeving met een automatisch gegenereerde Log Analytics-werkruimte.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Het standaarddomein van de container-app-omgeving weergeven. Noteer dit domein voor gebruik in latere secties.
az containerapp env show \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--query properties.defaultDomain
De app voorbereiden voor implementatie
Wanneer u uw toepassing implementeert in Azure Container Apps, verandert uw omleidings-URL in de omleidings-URL van uw geïmplementeerde app-exemplaar in Azure Container Apps. Gebruik de volgende stappen om deze instellingen in uw application.yml-bestand te wijzigen:
Navigeer naar het bestand src\main\resources\application.yml van uw app en wijzig de waarde van in de domeinnaam van uw geïmplementeerde app, zoals in het volgende voorbeeld. Zorg ervoor dat u en vervangt door uw daadwerkelijke waarden. Bijvoorbeeld, met het standaarddomein voor uw Azure Container App-omgeving uit de vorige stap en als appnaam, zou u gebruiken als waarde voor .
post-logout-redirect-uri: https://<API_NAME>.<default-domain-of-container-app-environment>Nadat u dit bestand hebt opgeslagen, gebruikt u de volgende opdracht om uw app opnieuw te bouwen:
mvn clean package
Belangrijk
Het application.yml-bestand van de applicatie bevat momenteel de waarde van het clientgeheim in de -parameter. Het is niet raadzaam om deze waarde in dit bestand te bewaren. Mogelijk neemt u ook een risico als u het bestand doorvoert in een Git-opslagplaats. Zie Geheimen beheren in Azure Container Apps voor de aanbevolen aanpak.
De registratie van uw Microsoft Entra ID-app bijwerken
Omdat de omleidings-URI wordt gewijzigd in uw geïmplementeerde app in Azure Container Apps, moet u ook de omleidings-URI wijzigen in de registratie van uw Microsoft Entra ID-app. Gebruik de volgende stappen om deze wijziging aan te brengen:
Ga naar de pagina App-registraties in het Microsoft identity platform voor ontwikkelaars.
Gebruik het zoekvak om naar uw app-registratie te zoeken - bijvoorbeeld .
Open uw app-registratie door de naam te selecteren.
Selecteer in het menu de optie Verificatie.
Selecteer in de sectie WebOmleidings-URI's URI toevoegen.
Vul de URI van uw app in en voeg toe, bijvoorbeeld .
Selecteer Opslaan.
De app implementeren
Implementeer het JAR-pakket in Azure Container Apps.
Notitie
Indien nodig kunt u de JDK-versie opgeven in de omgevingsvariabelen van de Java-build. Zie build-omgevingsvariabelen voor Java in Azure Container Apps voor meer informatie.
Nu kunt u uw WAR-bestand implementeren met de CLI-opdracht .
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Notitie
De standaardversie van JDK is 17. Als u de JDK-versie moet wijzigen om compatibel te zijn met uw toepassing, kunt u het argument gebruiken om de versie aan te passen.
Voor meer build-omgevingsvariabelen, zie Build-omgevingsvariabelen voor Java in Azure Container Apps.
De app valideren
In dit voorbeeld bevat de opdracht het argument , dat de volledig gekwalificeerde domeinnaam (FQDN) retourneert, ook wel de URL van de app. Gebruik de volgende stappen om de logboeken van de app te controleren om een implementatieprobleem te onderzoeken:
Open de URL van de uitvoertoepassing op de pagina Uitvoer van de sectie Implementatie .
Selecteer in het navigatiedeelvenster van de pagina Overview van het Azure Container Apps-exemplaar Logs om de logboeken van de app te bekijken.
Het voorbeeld verkennen
Gebruik de volgende stappen om het voorbeeld te verkennen:
- Merk op dat de aanmeldings- of afmeldstatus in het midden van het scherm wordt weergegeven.
- Selecteer de contextgevoelige knop in de hoek. Op deze knop staat Sign In wanneer u de app voor het eerst opent. U kunt ook tokengegevens, alleen beheerders of gewone gebruikers selecteren. Omdat deze pagina's zijn beveiligd en verificatie vereisen, wordt u automatisch omgeleid naar de aanmeldingspagina.
- Volg op de volgende pagina de instructies en meld u aan met een account in de Microsoft Entra ID-tenant.
- Let op de machtigingen die op het toestemmingsscherm worden gevraagd.
- Wanneer de aanmeldingsstroom is voltooid, wordt u omgeleid naar de startpagina, waarin de aanmeldingsstatus wordt weergegeven, of een van de andere pagina's, afhankelijk van de knop die uw aanmeldingsstroom heeft geactiveerd.
- Merk op dat de contextgevoelige knop nu Afmelden zegt en uw gebruikersnaam weergeeft.
- Als u zich op de startpagina bevindt, selecteert u Details van id-token om enkele van de gedecodeerde claims van het ID-token te zien, inclusief rollen.
- Selecteer Alleen beheerders om te bekijken. Alleen gebruikers met een app-rol
PrivilegedAdminkunnen deze pagina bekijken. Anders wordt een autorisatiefoutbericht weergegeven. - Selecteer Reguliere gebruikers om de -pagina weer te geven. Alleen gebruikers met app-rol of kunnen deze pagina bekijken. Anders wordt een autorisatiefoutbericht weergegeven.
- Gebruik de knop in de hoek om u af te melden. De statuspagina geeft de nieuwe status weer.
Over de code
In dit voorbeeld wordt gedemonstreerd hoe u de Microsoft Entra ID Spring Boot Starter-clientbibliotheek voor Java gebruikt om gebruikers aan te melden bij uw Microsoft Entra ID-tenant. Het voorbeeld maakt ook gebruik van de Spring Oauth2-client en Spring Web Boot Starters. In het voorbeeld worden claims gebruikt van het id-token dat is verkregen van Microsoft Entra ID om de details van de aangemelde gebruiker weer te geven en om de toegang tot sommige pagina's te beperken met behulp van de rolclaim voor autorisatie.
Inhoud
In de volgende tabel ziet u de inhoud van de voorbeeldprojectmap:
| Bestand/map | Beschrijving |
|---|---|
| pom.xml | Toepassingsafhankelijkheden. |
| src/main/resources/templates/ | Thymeleaf-sjablonen voor de gebruikersinterface. |
| src/main/resources/application.yml | Configuratie van de toepassings- en Microsoft Entra ID Boot Starter-bibliotheek. |
| src/main/java/com/microsoft/azuresamples/msal4j/msidentityspringbootwebapp/ | Deze map bevat het ingangspunt, de controller en de configuratieklassen van de hoofdtoepassing. |
| .../MsIdentitySpringBootWebappApplication.java | Hoofdklasse. |
| .../SampleController.java | Controller met eindpunttoewijzingen. |
| .../SecurityConfig.java | Beveiligingsconfiguratie: voor welke routes bijvoorbeeld verificatie is vereist. |
| .../Utilities.java | Utilityklasse - om bijvoorbeeld ID-tokenclaims te filteren. |
| CHANGELOG.md | Lijst met wijzigingen in het voorbeeld. |
| CONTRIBUTING.md | Richtlijnen voor bijdragen aan het voorbeeld. |
| LICENTIE` | De licentie voor het voorbeeld. |
Id-tokenclaims
Om tokendetails te extraheren, maakt de app gebruik van de objecten en van Spring Security in een request-mapping, zoals in het volgende voorbeeld te zien is. Zie de Sample Controller voor alle informatie over hoe deze app gebruikmaakt van claims in het ID-token.
import org.springframework.security.oauth2.core.oidc.user.OidcUser;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
//...
@GetMapping(path = "/some_path")
public String tokenDetails(@AuthenticationPrincipal OidcUser principal) {
Map<String, Object> claims = principal.getIdToken().getClaims();
}
Een rollenclaim verwerken in het id-token
De rollenclaim van het token bevat de namen van de rollen waaraan de aangemelde gebruiker is toegewezen, zoals wordt weergegeven in het volgende voorbeeld:
{
...
"roles": [
"PrivilegedAdmin",
"RegularUser",]
...
}
Een gebruikelijke manier om de rolnamen te benaderen, wordt beschreven in de sectie ID-tokenclaims.
Microsoft Entra ID Boot Starter v3.3 en hoger verwerkt ook automatisch de claim voor rollen en voegt elke rol toe aan de van de aangemelde gebruiker, waarbij elke rol het voorvoegsel krijgt. Met deze configuratie kunnen ontwikkelaars gebruik te maken van app-rollen met Spring voorwaarde-annotaties met behulp van de -methode. U kunt bijvoorbeeld de volgende condities vinden, zoals gedemonstreerd in SampleController.java:
@GetMapping(path = "/admin_only")
@PreAuthorize("hasAuthority('APPROLE_PrivilegedAdmin')")
public String adminOnly(Model model) {
// restrict to users who have PrivilegedAdmin app role only
}
@GetMapping(path = "/regular_user")
@PreAuthorize("hasAnyAuthority('APPROLE_PrivilegedAdmin','APPROLE_RegularUser')")
public String regularUser(Model model) {
// restrict to users who have any of RegularUser or PrivilegedAdmin app roles
}
Met de volgende code wordt een volledige lijst met autorisaties voor een gegeven gebruiker opgehaald:
@GetMapping(path = "/some_path")
public String tokenDetails(@AuthenticationPrincipal OidcUser principal) {
Collection<? extends GrantedAuthority> authorities = principal.getAuthorities();
}
Aanmeld- en afmeldkoppelingen
Voor aanmelding doet de app een aanvraag naar het microsoft Entra ID-aanmeldingseindpunt dat automatisch is geconfigureerd door de Microsoft Entra ID Spring Boot Starter-clientbibliotheek voor Java, zoals wordt weergegeven in het volgende voorbeeld:
<a class="btn btn-success" href="/oauth2/authorization/azure">Sign In</a>
Voor het afmelden verstuurt de app een POST-aanvraag naar het -eindpunt, zoals in het volgende voorbeeld wordt weergegeven:
<form action="#" th:action="@{/logout}" method="post">
<input class="btn btn-warning" type="submit" value="Sign Out" />
</form>
Verificatieafhankelijke UI-elementen
De app heeft een aantal eenvoudige logica op de pagina's van de gebruikersinterfacesjabloon voor het bepalen van de inhoud die moet worden weergegeven op basis van of de gebruiker is geverifieerd, zoals wordt weergegeven in het volgende voorbeeld met spring Security Thymeleaf-tags:
<div sec:authorize="isAuthenticated()">
this content only shows to authenticated users
</div>
<div sec:authorize="isAnonymous()">
this content only shows to not-authenticated users
</div>
Routes beveiligen met AADWebSecurityConfigurerAdapter
Standaard beschermt de app de pagina's Details van het ID-token, Alleen beheerders en Gewone gebruikers, zodat alleen aangemelde gebruikers er toegang toe hebben. De app configureert deze routes op basis van de eigenschap uit het bestand application.yml. Als u de specifieke vereisten voor uw app wilt configureren, kunt u in een van uw klassen uitbreiden. Zie voor een voorbeeld de klasse SecurityConfig van deze app, zoals weergegeven in de volgende code:
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends AADWebSecurityConfigurerAdapter{
@Value( "${app.protect.authenticated}" )
private String[] protectedRoutes;
@Override
public void configure(HttpSecurity http) throws Exception {
// use required configuration form AADWebSecurityAdapter.configure:
super.configure(http);
// add custom configuration:
http.authorizeRequests()
.antMatchers(protectedRoutes).authenticated() // limit these pages to authenticated users (default: /token_details, /admin_only, /regular_user)
.antMatchers("/**").permitAll(); // allow all other routes.
}
}
Meer informatie
- Documentatie voor Microsoft Identity Platform
- Overzicht van Microsoft Authentication Library (MSAL)
- Snelstart: een toepassing registreren bij het Microsoft identity platform
- Snelstart: Een clienttoepassing configureren voor toegang tot web-API's
- Inzicht in toestemmingservaringen voor toepassingen in Microsoft Entra ID
- Begrijp de toestemming van gebruikers en beheerders
- Toepassings- en service-principal-objecten in Azure Active Directory
- Nationale cloudomgevingen
- MSAL-codevoorbeelden
- Azure Active Directory Spring Boot Starter-clientbibliotheek voor Java
- Microsoft Authentication Library voor Java (MSAL4J)
- MSAL4J Wiki
- ID-tokens
- Toegangstokens in het Microsoft identity platform
Zie Authenticatiescenario's voor Microsoft Entra ID voor meer informatie over hoe OAuth 2.0-protocollen werken in dit scenario en andere scenario's.