Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Mile widziany! Prawdopodobnie nie jest to oczekiwana strona. Chociaż pracujemy nad poprawką, ten link powinien podjąć Cię do odpowiedniego artykułu:
Przepraszamy za niedogodności i doceniamy cierpliwość, podczas gdy pracujemy nad rozwiązaniem tego problemu.
W tym szybkim starcie pobierasz i uruchamiasz przykładowy kod, który pokazuje, jak aplikacja internetowa ASP.NET Core może logować użytkowników z dowolnej organizacji Microsoft Entra.
Krok 1. Konfigurowanie aplikacji w witrynie Azure Portal
Aby przykładowy kod w tym przewodniku szybkiego startu zadziałał:
- W polu Identyfikator URI przekierowania wprowadź https://localhost:44321/ i https://localhost:44321/signin-oidc.
- W polu Adres URL wylogowywania przedniego kanału wprowadź https://localhost:44321/signout-oidc.
Punkt końcowy autoryzacji będzie wydawać tokeny ID żądania.
Aplikacja jest skonfigurowana przy użyciu tych atrybutów.
Krok 2. Pobieranie projektu ASP.NET Core
Uruchamianie projektu.
Wskazówka
Aby uniknąć błędów spowodowanych ograniczeniami długości ścieżki w systemie Windows, zalecamy wyodrębnienie archiwum lub sklonowanie repozytorium do katalogu w pobliżu katalogu głównego dysku.
Krok 3. Aplikacja jest skonfigurowana i gotowa do uruchomienia
Skonfigurowaliśmy projekt z wartościami właściwości aplikacji i wszystko jest gotowe do uruchomienia.
Uwaga
Enter_the_Supported_Account_Info_Here
Więcej informacji
Ta sekcja zawiera omówienie kodu wymaganego do logowania użytkowników. To omówienie może być przydatne, aby zrozumieć, jak działa kod, jakie są główne argumenty i jak dodać logowanie do istniejącej aplikacji ASP.NET Core.
Jak działa przykład
Klasa startupowa
Oprogramowanie pośredniczące Microsoft.AspNetCore.Authentication używa Startup
klasy uruchamianej podczas uruchamiania procesu hostingu:
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();
}
Metoda AddAuthentication()
konfiguruje usługę w celu dodania uwierzytelniania opartego na plikach cookie. To uwierzytelnienie jest używane w scenariuszach przeglądarki i ustawia wyzwanie do OpenID Connect.
Wiersz zawierający .AddMicrosoftIdentityWebApp
dodaje uwierzytelnianie przez platformę tożsamości firmy Microsoft do aplikacji. Aplikacja jest następnie skonfigurowana do logowania użytkowników na podstawie następujących informacji w AzureAD
sekcji pliku konfiguracji appsettings.json :
appsettings.json klucz | Opis |
---|---|
ClientId |
Identyfikator aplikacji (klienta) aplikacji zarejestrowanej w witrynie Azure Portal. |
Instance |
Punkt końcowy usługi tokenu zabezpieczającego (STS) dla użytkownika do uwierzytelniania. Ta wartość to zazwyczaj https://login.microsoftonline.com/ wartość wskazująca chmurę publiczną platformy Azure. |
TenantId |
Nazwa Twojego dzierżawcy lub identyfikator dzierżawcy (identyfikator GUID) lub common , aby zalogować użytkowników za pomocą kont służbowych, szkolnych lub osobistych Microsoft. |
Metoda Configure()
zawiera dwie ważne metody app.UseAuthentication()
i app.UseAuthorization()
, które umożliwiają ich nazwane funkcje. Ponadto w metodzie Configure()
należy zarejestrować trasy Microsoft Identity Web z co najmniej jednym wywołaniem endpoints.MapControllerRoute()
lub wywołaniem endpoints.MapControllers()
.
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
Atrybut do ochrony kontrolera lub metod
Kontroler lub jego metody można chronić, używając atrybutu [Authorize]
. Ten atrybut ogranicza dostęp do kontrolera lub metod, zezwalając tylko na uwierzytelnionych użytkowników. Następnie można rozpocząć uwierzytelnianie w celu uzyskania dostępu do kontrolera, jeśli użytkownik nie jest uwierzytelniony.
Pomoc i obsługa techniczna
Jeśli potrzebujesz pomocy, chcesz zgłosić problem lub poznać opcje pomocy technicznej, zobacz Pomoc i obsługa techniczna dla deweloperów.
Następne kroki
Repozytorium GitHub zawierające ten samouczek ASP.NET Core zawiera instrukcje i więcej przykładów kodu, które pokazują, jak wykonać następujące czynności:
- Dodaj uwierzytelnianie do nowej aplikacji internetowej ASP.NET Core.
- Wywołaj program Microsoft Graph, inne interfejsy API firmy Microsoft lub własne internetowe interfejsy API.
- Dodaj autoryzację.
- Logowanie użytkowników w chmurach krajowych lub przy użyciu tożsamości społecznościowych.