Öğretici: Microsoft'ta bir web uygulamasına ASP.NET ekleme
Bu öğreticide, .NET (OWIN) ASP.NET Açık Web Arabirimi'nin ve diğer kullanıcıların oturum açması için bir MVC web uygulaması Microsoft kimlik platformu.
Bu kılavuzu tamamlandıktan sonra, uygulamanız kişisel hesapların oturum açmalarını outlook.com ve live.com. Ayrıca şirket veya kuruluş ile tümleştirilmiş olan tüm şirket veya Microsoft kimlik platformu iş ve okul hesapları uygulamanıza oturum açabilecek.
Bu öğreticide:
- ASP.NET web uygulaması projesi Visual Studio
- .NET (OWIN) ara yazılım bileşenleri için Açık Web Arabirimi ekleme
- Kullanıcı oturum açma ve oturum açma desteği için kod ekleme
- Uygulamayı Azure portal
- Uygulamayı test etme
Önkoşullar
- Visual Studio web geliştirme iş yükünün yüklü olduğu ASP.NET 2019
Bu kılavuz tarafından oluşturulan örnek uygulama nasıl çalışır?
Örnek uygulama, tarayıcıyı kullanarak bir kullanıcıdan oturum açma düğmesiyle kimlik doğrulaması ASP.NET bir web sitesine erişmeyi temel alan bir senaryoyu temel almaktadır. Bu senaryoda web sayfasını oluşturma işlemlerinin çoğu sunucu tarafında gerçekleştirilmektedir.
Kitaplıklar
Bu kılavuz aşağıdaki kitaplıkları kullanır:
| Kitaplık | Description |
|---|---|
| Microsoft.Owin.Security.OpenIdConnect | Uygulamanın kimlik doğrulaması için OpenIdConnect kullanmasını sağlayan ara yazılım |
| Microsoft.Owin.Security.Cookies | Bir uygulamanın tanımlama bilgilerini kullanarak kullanıcı oturumunu sürdürmesini sağlayan ara yazılım |
| Microsoft.Owin.Host.SystemWeb | OWIN tabanlı uygulamaların ASP.NET isteği işlem hattını kullanarak Internet Information Services (IIS) üzerinde çalışmasına olanak sağlayan ara yazılım |
Projenizi ayarlama
Bu bölümde, OpenID Bağlan kullanarak bir ASP.NET projesine OWIN ara yazılımı aracılığıyla kimlik doğrulama işlem hattının nasıl yük Bağlan.
Bunun yerine bu örneğin Visual Studio tercih edersiniz? Bir proje indirin ve yürütmeden önce kod örneğini yapılandırmak için Uygulama kaydetme adımına atlayabilirsiniz.
ASP.NET projenizi oluşturma
- Şu Visual Studio: Dosya Yeni > Dosya'ya > Project.
- Visual C#\Web bölümünde ASP.NET Web Uygulaması (.NET Framework) girişini seçin.
- Uygulamanıza bir ad verin ve Tamam'ı seçin.
- Boş seçeneğini ve ardından MVC başvurularını eklemek için onay kutusunu seçin.
Kimlik doğrulama bileşenleri ekleme
Şu Visual Studio: Araçlar ve Konsol > NuGet Paket Yöneticisi > Paket Yöneticisi gidin.
Paket Yöneticisi Konsolu penceresinde aşağıdakileri yazarak OWIN ara yazılım NuGet paketlerini ekleyin:
Install-Package Microsoft.Owin.Security.OpenIdConnect Install-Package Microsoft.Owin.Security.Cookies Install-Package Microsoft.Owin.Host.SystemWeb
Bu kitaplıklar hakkında
Bu kitaplıklar, tanımlama bilgisi tabanlı kimlik doğrulaması aracılığıyla OpenID Bağlan çoklu oturum açmayı (SSO) etkinleştirir. Kimlik doğrulaması tamamlandıktan ve kullanıcıyı temsil eden belirteç uygulamanıza gönderildikten sonra OWIN ara yazılımı bir oturum tanımlama bilgisi oluşturur. Tarayıcı daha sonra sonraki isteklerde bu tanımlama bilgisini kullanarak kullanıcının parolayı yeniden yazması gerekmez ve ek doğrulama gerekmez.
Kimlik doğrulama işlem hattını yapılandırma
OpenID kimlik doğrulamasını yapılandırmak üzere bir OWIN ara yazılım Başlangıç sınıfı oluşturmak için Bağlan adımları kullanılır. Bu sınıf, IIS işleminiz başladığında otomatik olarak yürütülür.
İpucu
Projenizin kök klasöründe Startup.cs adlı bir dosya yoksa:
- Projenin kök klasörüne sağ tıklayın ve Yeni Öğe Ekle > > OWIN Başlangıç sınıfı'ı seçin.
- Startup.cs olarak ad girin.
Seçilen sınıfın standart bir C# sınıfı değil OWIN Başlangıç sınıfı olduğundan emin olun. [assembly: OwinStartup(typeof({NameSpace}) öğesini gördüğünüzden emin olarak bunu onaylayın. Ad alanının üzerinde Başlangıç))].
Startup.cs'ye OWIN ve Microsoft.IdentityModel başvuruları ekleyin:
using Microsoft.Owin; using Owin; using Microsoft.IdentityModel.Protocols.OpenIdConnect; using Microsoft.IdentityModel.Tokens; using Microsoft.Owin.Security; using Microsoft.Owin.Security.Cookies; using Microsoft.Owin.Security.OpenIdConnect; using Microsoft.Owin.Security.Notifications;Başlangıç sınıfını aşağıdaki kodla değiştirin:
public class Startup { // The Client ID is used by the application to uniquely identify itself to Microsoft identity platform. string clientId = System.Configuration.ConfigurationManager.AppSettings["ClientId"]; // RedirectUri is the URL where the user will be redirected to after they sign in. string redirectUri = System.Configuration.ConfigurationManager.AppSettings["RedirectUri"]; // Tenant is the tenant ID (e.g. contoso.onmicrosoft.com, or 'common' for multi-tenant) static string tenant = System.Configuration.ConfigurationManager.AppSettings["Tenant"]; // Authority is the URL for authority, composed of the Microsoft identity platform and the tenant name (e.g. https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0) string authority = String.Format(System.Globalization.CultureInfo.InvariantCulture, System.Configuration.ConfigurationManager.AppSettings["Authority"], tenant); /// <summary> /// Configure OWIN to use OpenIdConnect /// </summary> /// <param name="app"></param> public void Configuration(IAppBuilder app) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); app.UseCookieAuthentication(new CookieAuthenticationOptions()); app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { // Sets the ClientId, authority, RedirectUri as obtained from web.config ClientId = clientId, Authority = authority, RedirectUri = redirectUri, // PostLogoutRedirectUri is the page that users will be redirected to after sign-out. In this case, it is using the home page PostLogoutRedirectUri = redirectUri, Scope = OpenIdConnectScope.OpenIdProfile, // ResponseType is set to request the code id_token - which contains basic information about the signed-in user ResponseType = OpenIdConnectResponseType.CodeIdToken, // ValidateIssuer set to false to allow personal and work accounts from any organization to sign in to your application // To only allow users from a single organizations, set ValidateIssuer to true and 'tenant' setting in web.config to the tenant name // To allow users from only a list of specific organizations, set ValidateIssuer to true and use ValidIssuers parameter TokenValidationParameters = new TokenValidationParameters() { ValidateIssuer = false // This is a simplification }, // OpenIdConnectAuthenticationNotifications configures OWIN to send notification of failed authentications to OnAuthenticationFailed method Notifications = new OpenIdConnectAuthenticationNotifications { AuthenticationFailed = OnAuthenticationFailed } } ); } /// <summary> /// Handle failed authentication requests by redirecting the user to the home page with an error in the query string /// </summary> /// <param name="context"></param> /// <returns></returns> private Task OnAuthenticationFailed(AuthenticationFailedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> context) { context.HandleResponse(); context.Response.Redirect("/?errormessage=" + context.Exception.Message); return Task.FromResult(0); } }
Not
Ayar, ValidateIssuer = false bu hızlı başlangıç için basit bir kolaylaştırmadır. Gerçek uygulamalarda, sertifikayılayanı doğrulamalısiniz.
Bunun nasıl olduğunu öğrenmek için örneklere bakın.
Daha fazla bilgi
OpenIDConnectAuthenticationOptions içinde sağ parametre, uygulamanın verilerle iletişim kurması için koordinat Microsoft kimlik platformu. OpenID kimlik Bağlan arka planda tanımlama bilgileri kullandığı için, önceki kodda da olduğu gibi tanımlama bilgisi kimlik doğrulamasını ayarlayabilirsiniz. ValidateIssuer değeri OpenIdConnect'e erişimi belirli bir kuruluşla kısıtlamamalarını söyler.
Oturum açma ve oturum açma isteklerini işlemek için bir denetleyici ekleme
Oturum açma ve oturum açma yöntemlerini ortaya çıkarmak için yeni bir denetleyici oluşturmak için şu adımları izleyin:
Denetleyiciler klasörüne sağ tıklayın ve Denetleyici Ekle'yi > seçin.
MVC (.NET sürümü) Denetleyici – Boş girişini seçin.
Add (Ekle) seçeneğini belirleyin.
HomeController olarak ad girin ve Ekle'yi seçin.
OWIN başvurularını sınıfına ekleyin:
using Microsoft.Owin.Security; using Microsoft.Owin.Security.Cookies; using Microsoft.Owin.Security.OpenIdConnect;Bir kimlik doğrulaması testini başlatarak denetleyicinize oturum açma ve oturum açma ile oturum açmayı işlemek için aşağıdaki iki yöntemi ekleyin:
/// <summary> /// Send an OpenID Connect sign-in request. /// Alternatively, you can just decorate the SignIn method with the [Authorize] attribute /// </summary> public void SignIn() { if (!Request.IsAuthenticated) { HttpContext.GetOwinContext().Authentication.Challenge( new AuthenticationProperties{ RedirectUri = "/" }, OpenIdConnectAuthenticationDefaults.AuthenticationType); } } /// <summary> /// Send an OpenID Connect sign-out request. /// </summary> public void SignOut() { HttpContext.GetOwinContext().Authentication.SignOut( OpenIdConnectAuthenticationDefaults.AuthenticationType, CookieAuthenticationDefaults.AuthenticationType); }
Kullanıcının oturum açması için uygulamanın giriş sayfasını oluşturma
Oturum Visual Studio, oturum açma düğmesini eklemek ve kimlik doğrulaması sonrasında kullanıcı bilgilerini görüntülemek için yeni bir görünüm oluşturun:
Görünümler\Giriş Sayfası klasörüne sağ tıklayın ve Görünüm Ekle'yi seçin.
Yeni görünüme Index adını girin.
Oturum açma düğmesini de içeren aşağıdaki HTML kodunu dosyaya ekleyin:
<html> <head> <meta name="viewport" content="width=device-width" /> <title>Sign in with Microsoft Guide</title> </head> <body> @if (!Request.IsAuthenticated) { <!-- If the user is not authenticated, display the sign-in button --> <a href="@Url.Action("SignIn", "Home")" style="text-decoration: none;"> <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="300px" height="50px" viewBox="0 0 3278 522" class="SignInButton"> <style type="text/css">.fil0:hover {fill: #4B4B4B;} .fnt0 {font-size: 260px;font-family: 'Segoe UI Semibold', 'Segoe UI'; text-decoration: none;}</style> <rect class="fil0" x="2" y="2" width="3174" height="517" fill="black" /> <rect x="150" y="129" width="122" height="122" fill="#F35325" /> <rect x="284" y="129" width="122" height="122" fill="#81BC06" /> <rect x="150" y="263" width="122" height="122" fill="#05A6F0" /> <rect x="284" y="263" width="122" height="122" fill="#FFBA08" /> <text x="470" y="357" fill="white" class="fnt0">Sign in with Microsoft</text> </svg> </a> } else { <span><br/>Hello @System.Security.Claims.ClaimsPrincipal.Current.FindFirst("name").Value;</span> <br /><br /> @Html.ActionLink("See Your Claims", "Index", "Claims") <br /><br /> @Html.ActionLink("Sign out", "SignOut", "Home") } @if (!string.IsNullOrWhiteSpace(Request.QueryString["errormessage"])) { <div style="background-color:red;color:white;font-weight: bold;">Error: @Request.QueryString["errormessage"]</div> } </body> </html>
Daha fazla bilgi
Bu sayfa siyah arka plan üzerinde SVG biçiminde bir oturum açma düğmesi ekler:
Daha fazla oturum açma düğmesi için Markalama yönergeleri'ne gidin.
Kullanıcının taleplerini görüntülemek için bir denetleyici ekleme
Bu denetleyici bir denetleyiciyi koruma amacıyla [Authorize] özniteliğini kullanma şeklini gösterir. Bu öznitelik, yalnızca kimliği doğrulanmış kullanıcılara izin vererek denetleyiciye erişimi kısıtlar. Aşağıdaki kod, oturum açmanın bir parçası olarak alınan kullanıcı taleplerini görüntülemek için özniteliğini kullanır:
Denetleyiciler klasörüne sağ tıklayın ve Denetleyici Ekle'yi > seçin.
MVC {sürüm} Denetleyici – Boş girişini seçin.
Add (Ekle) seçeneğini belirleyin.
ClaimsController olarak adlandırın.
Denetleyici sınıfı kodunuzu aşağıdaki kodla değiştirin. Bu,
[Authorize]sınıfına özniteliğini ekler:[Authorize] public class ClaimsController : Controller { /// <summary> /// Add user's claims to viewbag /// </summary> /// <returns></returns> public ActionResult Index() { var userClaims = User.Identity as System.Security.Claims.ClaimsIdentity; //You get the user's first and last name below: ViewBag.Name = userClaims?.FindFirst("name")?.Value; // The 'preferred_username' claim can be used for showing the username ViewBag.Username = userClaims?.FindFirst("preferred_username")?.Value; // The subject/ NameIdentifier claim can be used to uniquely identify the user across the web ViewBag.Subject = userClaims?.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier)?.Value; // TenantId is the unique Tenant Id - which represents an organization in Azure AD ViewBag.TenantId = userClaims?.FindFirst("http://schemas.microsoft.com/identity/claims/tenantid")?.Value; return View(); } }
Daha fazla bilgi
özniteliğinin kullanımı nedeniyle, bu denetleyicinin tüm yöntemleri yalnızca kullanıcının [Authorize] kimliği doğrulanmışsa yürütülebilirsiniz. Kullanıcının kimliği doğrulanmamışsa ve denetleyiciye erişmeye çalışırsa, OWIN bir kimlik doğrulama zorluğunu başlatarak kullanıcının kimliğini doğrulamaya zorlar. Yukarıdaki kod, kullanıcının kimlik belirtecsine dahil edilen belirli kullanıcı öznitelikleri için talep listesine bakarak. Bu öznitelikler, kullanıcının tam adını ve kullanıcı adını ve genel kullanıcı tanımlayıcısı konusunu içerir. Ayrıca, kullanıcının kuruluş kimliğini temsil eden Kiracı Kimliği'ne de sahip olur.
Kullanıcının taleplerini görüntülemek için bir görünüm oluşturma
Visual Studio'da kullanıcının taleplerini bir web sayfasında görüntülemek için yeni bir görünüm oluşturun:
Views\Claims klasörüne sağ tıklayın ve Görünüm Ekle'yi seçin.
Yeni görünüme Index adını girin.
Aşağıdaki HTML kodunu dosyaya ekleyin:
<html> <head> <meta name="viewport" content="width=device-width" /> <title>Sign in with Microsoft Sample</title> <link href="@Url.Content("~/Content/bootstrap.min.css")" rel="stylesheet" type="text/css" /> </head> <body style="padding:50px"> <h3>Main Claims:</h3> <table class="table table-striped table-bordered table-hover"> <tr><td>Name</td><td>@ViewBag.Name</td></tr> <tr><td>Username</td><td>@ViewBag.Username</td></tr> <tr><td>Subject</td><td>@ViewBag.Subject</td></tr> <tr><td>TenantId</td><td>@ViewBag.TenantId</td></tr> </table> <br /> <h3>All Claims:</h3> <table class="table table-striped table-bordered table-hover table-condensed"> @foreach (var claim in System.Security.Claims.ClaimsPrincipal.Current.Claims) { <tr><td>@claim.Type</td><td>@claim.Value</td></tr> } </table> <br /> <br /> @Html.ActionLink("Sign out", "SignOut", "Home", null, new { @class = "btn btn-primary" }) </body> </html>
Uygulamanızı kaydetme
Uygulamanızı kaydetmek ve uygulama kayıt bilgilerini çözümünüze eklemek için iki seçeneğiniz vardır:
1. Seçenek: Hızlı mod
Uygulamalarınızı hızla kaydetmek için şu adımları izleyin:
- Azure portal - Uygulama kayıtları deneyimine gidin.
- Uygulamanız için bir ad girin ve Kaydet'i seçin.
- Yeni uygulamanızı tek tıklamayla indirmek ve otomatik olarak yapılandırmak için yönergeleri izleyin.
2. Seçenek: Gelişmiş mod
Uygulamanızı kaydetmek ve uygulama kayıt bilgilerinizi çözümünüze el ile eklemek için şu adımları izleyin:
Visual Studio açın ve sonra:
- Çözüm Gezgini projesini seçin ve Özellikler penceresi görünümüne tıklayın (Özellikler penceresi F4 tuşuna basın).
- SSL Etkin'i olarak
Truedeğiştirme. - Visual Studio'da projeye sağ tıklayın, Özellikler'i ve ardından Web sekmesini seçin. Sunucular bölümünde Url'Project ayarını SSL URL'si olarak değiştirebilirsiniz.
- SSL URL'sini kopyalayın. Bu URL'yi bir sonraki adımda Kayıt portalının Yeniden Yönlendirme URL'leri listesinde Yeniden Yönlendirme URL'leri listesine ekleyebilirsiniz.

Azure Portal oturum açın.
Birden çok kiracıya erişiminiz varsa, uygulamayı kaydetmek istediğiniz kiracıya geçmek için üst menüde Dizinler + abonelikler
filtresini kullanın.Azure Active Directory'yi bulun ve seçin.
Yönet'in altında Yeni Uygulama kayıtları > seçeneğini seçin.
Uygulamanıza bir Ad girin, örneğin
ASPNET-Tutorial. Uygulama kullanıcıları bu adı görebilir ve daha sonra değiştirebilirsiniz.-
- adımda (örneğin, ) Visual Studio kopyalanan SSL URL'sini Yeniden
https://localhost:44368/Yönlendirme URI'sinde ekleyin.
- adımda (örneğin, ) Visual Studio kopyalanan SSL URL'sini Yeniden
Kaydet’i seçin.
Yönet'in altında Kimlik Doğrulaması'ı seçin.
Örtülü onay ve karma akışlar bölümünde Kimlik belirteçleri'ne ve ardından Kaydet'e tıklayın.
aşağıdakini bölümünde web.config klasöründe bulunan bir dosyada
configuration\appSettingsekleyin:<add key="ClientId" value="Enter_the_Application_Id_here" /> <add key="redirectUri" value="Enter_the_Redirect_URL_here" /> <add key="Tenant" value="common" /> <add key="Authority" value="https://login.microsoftonline.com/{0}/v2.0" />yerine
ClientIdaz önce kaydettiniz Uygulama Kimliği'ne tıklayın.yerine
redirectUriprojenizin SSL URL'sini yazın.
Kodunuza test etme
Uygulamayı test etmek için Visual Studio F5 tuşuna basarak projenizi çalıştırın. Tarayıcı localhost:{port} http:// açılır ve Microsoft hesabıyla oturum açın görüntülenir. Düğmeyi seçerek oturum açma işlemini başlatabilirsiniz.
Testlerinizi çalıştırmaya hazırsanız bir Azure AD hesabı (iş veya okul hesabı) veya kişisel hesap (canlı) Microsoft hesabıkullanın. com veya outlook. com) oturum açma.

<a name="permissions-and-consent-in-the-microsoft-identity-platform">Microsoft kimlik platformu'da izinler ve onay
Verilerle tümleştirilebilen Microsoft kimlik platformu kullanıcılara ve yöneticilere verilere nasıl erişilebilirsiniz üzerinde denetim veren bir yetkilendirme modelini izleyin. Kullanıcı bu uygulamaya erişmek için Microsoft kimlik platformu kimlik doğrulaması yaptıktan sonra, kullanıcıdan uygulama tarafından istenen izinlere onay verilmesi istenir ("Temel profilinizi görüntüleme" ve "Erişim iznini verdiğiniz verilere erişimi sürdürme"). Bu izinler kabul edildikten sonra, kullanıcı uygulama sonuçlarına devam eder. Ancak, aşağıdakilerden biri gerçekleşirse kullanıcıdan yönetici onayı gerekiyor sayfası istendiğinde:
- Uygulama geliştiricisi, Yönetici onayı gerektiren ek izinleri ekler.
- Veya kiracı yapılandırılır (Enterprise Uygulamalar -> Kullanıcı Ayarlar) ve kullanıcılar uygulamalara şirket verilerine kendi adına erişim izni verememez.
Daha fazla bilgi için bkz.Microsoft kimlik platformu.
Uygulama sonuçlarını görüntüleme
Oturum açmanızın ardından kullanıcı, web sitenizin giriş sayfasına yeniden yönlendirildi. Giriş sayfası, Microsoft Uygulama Kayıt Portalı'nın uygulama kayıt bilgisinde belirtilen HTTPS URL'dir. Giriş sayfasında <user> "Hello" karşılama iletisi, oturum açma bağlantısı ve kullanıcının taleplerini görüntüleme bağlantısı yer alır. Kullanıcının talepleri için bağlantı, daha önce oluşturduğunuz Talepler denetleyicisine bağlanır.
Kullanıcının taleplerini görüntüleme
Kullanıcının taleplerini görüntülemek için, yalnızca kimliği doğrulanmış kullanıcılar tarafından kullanılabilen denetleyici görünümüne göz atmak için bağlantıyı seçin.
Talep sonuçlarını görüntüleme
Denetleyici görünümüne göz atarak kullanıcının temel özelliklerini içeren bir tablo görüyor gerekir:
| Özellik | Değer | Açıklama |
|---|---|---|
| Ad | Kullanıcının tam adı | Kullanıcının adı ve soyadı |
| Kullanıcı adı | Kullanıcı@domain.com | Kullanıcı tanımlamak için kullanılan kullanıcı adı |
| Konu | Konu | Web'de kullanıcıyı benzersiz olarak tanımlayan bir dize |
| Kiracı Kimliği | Guid | Kullanıcının Azure AD kuruluşuna benzersiz olarak temsil eden guid |
Ayrıca, kimlik doğrulama isteğinde yer alan tüm taleplerin bir tabloyu görüyorsanız. Daha fazla bilgi için kimlik belirteci içinde yer alan taleplerin listesine bakın.
Authorize özniteliğine sahip bir yönteme erişimi test etmek (isteğe bağlı)
özniteliğiyle korunan bir denetleyiciye anonim kullanıcı olarak erişimi test etmek Authorize için şu adımları izleyin:
- Bağlantıyı seçerek kullanıcının oturumlarını sildi ve oturum açma işlemini tamamladınız.
- Tarayıcınızda, özniteliğiyle korunan http:// için localhost:{port}/claims
Authorizeyazın.
Korumalı denetleyiciye erişimden sonra beklenen sonuçlar
Korumalı denetleyici görünümünü kullanmak için kimliğinizi doğrulamanız istenir.
Gelişmiş seçenekler
Web sitenizin tamamını koruma
Web sitenizin tamamını korumak için Global.asax dosyasında AuthorizeAttribute metodunda GlobalFilters filtreye özniteliğini Application_Start ekleyin:
GlobalFilters.Filters.Add(new AuthorizeAttribute());
Uygulamanıza kimlerin oturum açmasını kısıtla
Varsayılan olarak, bu kılavuz tarafından oluşturulan uygulamayı oluşturulduğunda, uygulamanız kişisel hesapların (outlook.com, live.com ve diğerleri dahil) oturum açmalarını ve Microsoft kimlik platformu ile tümleştirilmiş herhangi bir şirket veya kuruluştan iş ve okul hesaplarını kabul eder. Bu, SaaS uygulamaları için önerilen bir seçenektir.
Uygulamanıza kullanıcı oturum açma erişimini kısıtlamak için birden çok seçenek mevcuttur.
1. Seçenek: Kullanıcıların yalnızca bir kuruluşun Active Directory örneğinden uygulamanıza oturum açmasını kısıtla (tek kiracılı)
Bu seçenek lob uygulamaları için sıklıkla kullanılır: Uygulamanın yalnızca belirli bir Azure AD örneğine ait hesaplardan (bu örneğin konuk hesapları dahil) oturum açmalarını kabul etmelerini istiyorsanız şu adımları izleyin:
- web.config dosyasında parametresinin değerini , gibi kuruluşun
TenantCommonkiracı adıylacontoso.onmicrosoft.comdeğiştirebilirsiniz. - OWIN Başlangıç sınıfınızabağımsız
ValidateIssuerdeğişkenini olaraktrueayarlayın.
2. Seçenek: Belirli bir kuruluş listesinde kullanıcılara erişimi kısıtlama
Oturum açma erişimini yalnızca izin verilen kuruluşlar listesinde yer alan bir Azure AD kuruluşunda bulunan kullanıcı hesaplarıyla kısıtabilirsiniz:
- OWIN Başlangıç sınıfınızabağımsız
ValidateIssuerdeğişkenini olaraktrueayarlayın. - parametresinin değerini
ValidIssuersizin verilen kuruluşlar listesine ayarlayın.
3. Seçenek: Sertifikayı kullananları doğrulamak için özel bir yöntem kullanma
IssuerValidator parametresini kullanarak, sertifikayı kullananları doğrulamak için özel bir yöntem kullanabilirsiniz. Bu parametreyi kullanma hakkında daha fazla bilgi için bkz. TokenValidationParameters sınıfı.
Yardım ve destek
Yardıma ihtiyacınız varsa, bir sorun bildirmek veya Destek seçenekleriniz hakkında bilgi edinmek istiyorsanız, bkz. geliştiriciler Için yardım ve destek.
Sonraki adımlar
Web uygulamalarıyla korumalı web API'lerini çağırma hakkında bilgi Microsoft kimlik platformu: