Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Willkommen! Dies ist wahrscheinlich nicht die Seite, die Sie erwartet haben. Während wir an einer Korrektur arbeiten, sollten Sie über diesen Link zum richtigen Artikel gelangen:
Schnellstart: Hinzufügen von „Bei Microsoft anmelden“ zu einer ASP.NET Core-Web-App
Wir entschuldigen uns für die Unannehmlichkeiten und bitten Sie um Geduld, während wir an einer Lösung arbeiten.
In dieser Schnellstartanleitung laden Sie ein Codebeispiel herunter und führen es aus, das zeigt, wie eine ASP.NET Core-Web-App Benutzer*innen aus einer beliebigen Microsoft Entra-Organisation anmelden kann.
Schritt 1: Konfigurieren Ihrer Anwendung im Azure-Portal
Damit das Codebeispiel in dieser Schnellstartanleitung funktioniert, müssen folgende Schritte ausgeführt werden:
- Geben Sie und https://localhost:44321/ als https://localhost:44321/signin-oidc ein.
- Geben Sie unter URL für Front-Channel-Abmeldung die URL https://localhost:44321/signout-oidc ein.
Der Autorisierungsendpunkt gibt Anforderungs-ID-Token aus.
Ihre Anwendung ist mit diesen Attributen konfiguriert.
Schritt 2: Herunterladen des ASP.NET Core-Projekts
Führen Sie das Projekt aus.
Tipp
Um Fehler zu vermeiden, die durch Pfadlängenbeschränkungen in Windows verursacht werden, empfehlen wir, das Archiv zu extrahieren oder das Repository in ein Verzeichnis in der Nähe des Stamms Ihres Laufwerks zu klonen.
Schritt 3: Ihre App ist konfiguriert und betriebsbereit
Sie haben das Projekt mit Werten Ihrer App-Eigenschaften konfiguriert. Es ist nun ausführungsbereit.
Hinweis
Enter_the_Supported_Account_Info_Here
Mehr Informationen
In diesem Abschnitt erhalten Sie eine Übersicht über den erforderlichen Code für die Benutzeranmeldung. Diese Übersicht kann hilfreich sein, um die Funktionsweise des Codes und die Hauptargumente zu verstehen und zu ermitteln, wie Sie einer vorhandenen ASP.NET Core-Anwendung eine Anmeldung hinzufügen.
Funktionsweise des Beispiels
Startklasse
Von der Middleware Microsoft.AspNetCore.Authentication wird eine Klasse vom Typ Startup
verwendet. Sie wird ausgeführt, wenn der Hostprozess gestartet wird:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
services.AddRazorPages()
.AddMicrosoftIdentityUI();
}
Durch die Methode AddAuthentication()
wird der Dienst konfiguriert, um die cookiebasierte Authentifizierung hinzuzufügen. Diese Authentifizierung wird in Browserszenarien verwendet und dient dazu, die OpenID Connect-Herausforderung zu konfigurieren.
Durch die Zeile mit .AddMicrosoftIdentityWebApp
wird Ihrer Anwendung die Microsoft Identity Platform-Authentifizierung hinzugefügt. Die Anwendung wird anschließend für die Anmeldung von Benutzern basierend auf den Informationen im Abschnitt AzureAD
der Konfigurationsdatei appsettings.json konfiguriert:
appsettings.json (Schlüssel) | BESCHREIBUNG |
---|---|
ClientId |
Anwendungs-ID (Client) der im Azure-Portal registrierten Anwendung. |
Instance |
STS-Endpunkt (Sicherheitstokendienst) für die Authentifizierung des Benutzers. Dieser Wert ist in der Regel https://login.microsoftonline.com/ (öffentliche Azure-Cloud). |
TenantId |
Name Ihres Mandanten, Mandanten-ID (eine GUID) oder common für die Anmeldung von Benutzern mit Geschäfts-, Schul- oder Unikonto oder mit persönlichem Microsoft-Konto |
Die Methode Configure()
enthält mit app.UseAuthentication()
und app.UseAuthorization()
zwei wichtige Methoden, um die genannte Funktion zu aktivieren. Außerdem müssen Sie in der Configure()
-Methode die Routen von Microsoft Identity Web über mindestens einen Aufruf von endpoints.MapControllerRoute()
oder einen Aufruf von endpoints.MapControllers()
registrieren:
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
Attribut zum Schützen eines Controllers oder von Methoden
Sie können einen Controller oder Controllermethoden mithilfe des [Authorize]
-Attributs schützen. Dieses Attribut beschränkt den Zugriff auf den Controller oder die Methoden, indem nur authentifizierte Benutzer zugelassen werden. Wenn sich der Benutzer noch nicht authentifiziert hat, kann für den Zugriff auf den Controller eine Authentifizierungsabfrage gestartet werden.
Hilfe und Support
Wenn Sie Hilfe benötigen, ein Problem melden möchten oder sich über Ihre Supportoptionen informieren möchten, finden Sie weitere Informationen unter Hilfe und Support für Entwickler.
Nächste Schritte
Das GitHub-Repository mit diesem ASP.NET Core-Tutorial enthält Anleitungen und weitere Codebeispiele für Folgendes:
- Hinzufügen einer Authentifizierung zu einer neuen ASP.NET Core-Webanwendung
- Aufrufen von Microsoft Graph, anderer Microsoft-APIs oder Ihrer eigenen Web-APIs
- Hinzufügen der Autorisierung
- Anmelden von Benutzern in nationalen Clouds oder mit sozialen Identitäten