Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yeni web uygulaması geliştirme için en az API
En güvenli güvenli kimlik doğrulama seçeneğini kullanmanızı öneririz. Azure'a dağıtılan .NET uygulamaları için bkz:
Azure Key Vault ve .NET Aspire gizli bilgileri depolamak ve almak için en güvenli yollarından birini sunar. Azure Key Vault, şifreleme anahtarlarını ve sertifikalar, bağlantı dizeleri ve parolalar gibi gizli dizileri koruyan bir bulut hizmetidir. .NET Aspire için bkz. Barındırma ve istemci tümleştirmeleri arasında güvenli iletişim.
Kaynak Sahibi Parola Kimlik Bilgileri Vermekten kaçının, çünkü bunun nedeni:
- Kullanıcının parolasını istemciye gösterir.
- Önemli bir güvenlik riskidir.
- Yalnızca diğer kimlik doğrulama akışları mümkün olmadığında kullanılmalıdır.
Uygulama bir test sunucusuna dağıtıldığında, bağlantı dizesini test veritabanı sunucusuna ayarlamak için bir ortam değişkeni kullanılabilir. Ortam değişkenleri genellikle düz, şifrelenmemiş metinde depolanır. Makine veya işlemin güvenliği ihlal edilirse ortam değişkenlerine güvenilmeyen taraflar tarafından erişilebilir. Üretim bağlantı dizesini depolamak için ortam değişkenlerini kullanmanızı önermiyoruz çünkü bu en güvenli yaklaşım değildir.
Yapılandırma verileri yönergeleri:
- Parolaları veya diğer hassas verileri hiçbir zaman yapılandırma sağlayıcısı kodunda veya düz metin yapılandırma dosyalarında depolamayın.
- Geliştirme veya test ortamlarında üretim sırlarını kullanmayın.
- Projeden bağımsız olarak gizli bilgileri belirterek yanlışlıkla bir kaynak kod deposuna işlenmemelerini sağlayın.
Visual Studio 2017 ve ASP.NET 4.7.2, Tek Sayfa Uygulamalar (SPA) ve Web API hizmetlerinin güvenlik seçeneklerini, birkaç OAuth/OpenID ve sosyal medya kimlik doğrulama hizmetini içeren dış kimlik doğrulama hizmetleriyle tümleştirecek şekilde genişletir: Microsoft Hesapları, Twitter, Facebook ve Google.
Bu kılavuzda
facebook kimlik doğrulamasını etkinleştirme
twitter kimlik doğrulamasını etkinleştirme
Önkoşullar
Bu kılavuzdaki örnekleri izlemek için aşağıdakilere sahip olmanız gerekir:
Visual Studio 2017
Aşağıdaki sosyal medya kimlik doğrulama hizmetlerinden biri için uygulama tanımlayıcısı ve gizli anahtara sahip bir geliştirici hesabı:
- Microsoft Hesapları (https://go.microsoft.com/fwlink/?LinkID=144070)
- Twitter (https://dev.twitter.com/)
- Facebook (https://developers.facebook.com/)
- Google (https://developers.google.com/)
Dış Kimlik Doğrulama Hizmetlerini Kullanma
Şu anda web geliştiricileri tarafından kullanılabilen dış kimlik doğrulama hizmetlerinin bolluğu, yeni web uygulamaları oluştururken geliştirme süresini azaltmaya yardımcı olur. Web kullanıcılarının genellikle popüler web hizmetleri ve sosyal medya web siteleri için çeşitli hesapları vardır, bu nedenle bir web uygulaması bir dış web hizmetinden veya sosyal medya web sitesinden kimlik doğrulama hizmetlerini uyguladığında, bir kimlik doğrulama uygulaması oluşturmak için harcanan geliştirme süresinden tasarruf eder. Dış kimlik doğrulama hizmeti kullanmak, son kullanıcıların web uygulamanız için başka bir hesap oluşturmak zorunda olmasını ve ayrıca başka bir kullanıcı adı ve parolayı hatırlamak zorunda olmasını engeller.
Geçmişte geliştiricilerin iki seçeneği vardı: kendi kimlik doğrulama uygulamalarını oluşturma veya dış kimlik doğrulama hizmetini uygulamalarıyla tümleştirmeyi öğrenme. En temel düzeyde, aşağıdaki diyagramda dış kimlik doğrulama hizmetini kullanmak üzere yapılandırılmış bir web uygulamasından bilgi isteyen bir kullanıcı aracısı (web tarayıcısı) için basit bir istek akışı gösterilmektedir:
Yukarıdaki diyagramda, kullanıcı aracısı (veya bu örnekteki web tarayıcısı), web tarayıcısını bir dış kimlik doğrulama hizmetine yönlendiren bir web uygulamasına istekte bulunur. Kullanıcı aracısı kimlik bilgilerini dış kimlik doğrulama hizmetine gönderir ve kullanıcı aracısı başarıyla kimlik doğrulaması yapmışsa, dış kimlik doğrulama hizmeti kullanıcı aracısını, kullanıcı aracısının web uygulamasına göndereceği bir belirteç biçimiyle özgün web uygulamasına yönlendirir. Web uygulaması, dış kimlik doğrulama hizmeti tarafından kullanıcı aracısının kimliğinin başarıyla doğrulandığını doğrulamak için belirteci kullanır ve web uygulaması, kullanıcı aracısı hakkında daha fazla bilgi toplamak için belirteci kullanabilir. Uygulama kullanıcı aracısının bilgilerini işlemeyi tamamladıktan sonra, web uygulaması yetkilendirme ayarlarına göre kullanıcı aracısına uygun yanıtı döndürür.
Bu ikinci örnekte, kullanıcı aracısı web uygulaması ve dış yetkilendirme sunucusuyla anlaşma yapar ve web uygulaması, kullanıcı aracısı hakkında ek bilgi almak için dış yetkilendirme sunucusuyla ek iletişim gerçekleştirir:
Visual Studio 2017 ve ASP.NET 4.7.2, aşağıdaki kimlik doğrulama hizmetleri için yerleşik tümleştirme sağlayarak dış kimlik doğrulama hizmetleriyle tümleştirmeyi geliştiriciler için kolaylaştırır:
- Microsoft Hesapları (Windows Live ID hesapları)
Bu kılavuzdaki örnekler, Visual Studio 2017 ile birlikte gelen yeni ASP.NET Web Uygulaması şablonunu kullanarak desteklenen dış kimlik doğrulama hizmetlerinin her birinin nasıl yapılandırılacağını gösterir.
Not
Gerekirse, FQDN'nizi dış kimlik doğrulama hizmetinizin ayarlarına eklemeniz gerekebilir. Bu gereksinim, uygulama ayarlarınızdaki FQDN'nin istemcileriniz tarafından kullanılan FQDN ile eşleşmesini gerektiren bazı dış kimlik doğrulama hizmetleri için güvenlik kısıtlamalarına dayanır. (Bunun adımları her dış kimlik doğrulama hizmeti için büyük ölçüde farklılık gösterir; bunun gerekli olup olmadığını ve bu ayarların nasıl yapılandırılacağını görmek için her dış kimlik doğrulama hizmetinin belgelerine başvurmanız gerekir.) Iis Express'i bu ortamı test etmek için FQDN kullanacak şekilde yapılandırmanız gerekiyorsa, bu kılavuzun devamında yer alan Tam Etki Alanı Adı kullanmak için IIS Express'i yapılandırma
Örnek Web Uygulaması Oluşturma
Aşağıdaki adımlar, ASP.NET Web Uygulaması şablonunu kullanarak örnek bir uygulama oluşturmanıza yol açar ve bu kılavuzun devamında bu örnek uygulamayı dış kimlik doğrulama hizmetlerinin her biri için kullanacaksınız.
Visual Studio 2017'yi başlatın ve Başlangıç sayfasından Yeni Proje
Yeni Proje iletişim kutusu görüntülendiğinde, Yüklü seçin ve Visual C#'yi genişletin. Visual C#
Yeni Proje iletişim kutusunun Görüntüsü
yeni ASP.NET proje
Visual Studio 2017 projenizi oluştururken bekleyin.
Visual Studio 2017 projenizi oluşturmayı tamamladığında, App_Start klasöründe bulunan Startup.Auth.cs dosyasını açın.
Projeyi ilk oluşturduğunuzda, dış kimlik doğrulama hizmetlerinin hiçbiri Startup.Auth.cs dosyasında etkinleştirilmez; Aşağıda kodunuzun neye benzeyebileceği gösterilmektedir; dış kimlik doğrulama hizmetini etkinleştirebileceğiniz bölümler ve ASP.NET uygulamanızla Microsoft Hesapları, Twitter, Facebook veya Google kimlik doğrulamasını kullanmak için ilgili ayarlar vurgulanmıştır:
using System;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin;
using Microsoft.Owin.Security.Cookies;
using Microsoft.Owin.Security.DataProtection;
using Microsoft.Owin.Security.Google;
using Microsoft.Owin.Security.OAuth;
using Owin;
using WebApplication1.Models;
using WebApplication1.Providers;
namespace WebApplication1
{
public partial class Startup
{
// Enable the application to use OAuthAuthorization. You can then secure your Web APIs
static Startup()
{
PublicClientId = "web";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
AuthorizeEndpointPath = new PathString("/Account/Authorize"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
};
}
public static OAuthAuthorizationServerOptions OAuthOptions { get; private set; }
public static string PublicClientId { get; private set; }
// For more information on configuring authentication, please visit https://go.microsoft.com/fwlink/?LinkId=301864
public void ConfigureAuth(IAppBuilder app)
{
// Configure the db context, user manager and signin manager to use a single instance per request
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
// Enable the application to use a cookie to store information for the signed in user
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider
{
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(20),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
// Use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
// Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process.
app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));
// Enables the application to remember the second login verification factor such as phone or email.
// Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from.
// This is similar to the RememberMe option when you log in.
app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
// Uncomment the following lines to enable logging in with third party login providers
//app.UseMicrosoftAccountAuthentication(
// clientId: "",
// clientSecret: "");
//app.UseTwitterAuthentication(
// consumerKey: "",
// consumerSecret: "");
//app.UseFacebookAuthentication(
// appId: "",
// appSecret: "");
//app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
//{
// ClientId = "",
// ClientSecret = ""
//});
}
}
}
Web uygulamanızı derlemek ve hatalarını ayıklamak için F5 tuşuna bastığınızda, hiçbir dış kimlik doğrulama hizmeti tanımlanmadığını görebileceğiniz bir oturum açma ekranı görüntülenir.
Aşağıdaki bölümlerde, Visual Studio 2017'de ASP.NET ile sağlanan dış kimlik doğrulama hizmetlerinin her birini etkinleştirmeyi öğreneceksiniz.
Facebook kimlik doğrulamasını etkinleştirme
Facebook kimlik doğrulamasını kullanmak için bir Facebook geliştirici hesabı oluşturmanız gerekir ve projenizin çalışması için Facebook'tan bir uygulama kimliği ve gizli anahtar gerekir. Facebook geliştirici hesabı oluşturma ve uygulama kimliğinizi ve gizli anahtarınızı alma hakkında bilgi için bkz. https://go.microsoft.com/fwlink/?LinkID=252166.
Uygulama kimliğinizi ve gizli anahtarınızı aldıktan sonra, web uygulamanız için Facebook kimlik doğrulamasını etkinleştirmek için aşağıdaki adımları kullanın:
Projeniz Visual Studio 2017'de açık olduğunda Startup.Auth.cs dosyasını açın.
Kodun Facebook kimlik doğrulaması bölümünü bulun:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});
Vurgulanan kod satırlarını açmak için "//" karakterlerini kaldırın ve ardından uygulama kimliğinizi ve gizli anahtarınızı ekleyin. Bu parametreleri ekledikten sonra projenizi yeniden derleyebilirsiniz:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "426f62526f636b73", // appSecret: ""); //app.UseGoogleAuthentication();
Web uygulamanızı web tarayıcınızda açmak için F5 tuşuna bastığınızda, Facebook'un bir dış kimlik doğrulama hizmeti olarak tanımlandığını görürsünüz:
Facebook
düğmesine tıkladığınızda tarayıcınız Facebook oturum açma sayfasına yönlendirilir: Facebook kimlik bilgilerinizi girip oturum aç'a tıkladıktan sonra web tarayıcınız, Facebook hesabınızla ilişkilendirmek istediğiniz Kullanıcı adı girmenizi isteyen web uygulamanıza yeniden yönlendirilir:
Kullanıcı adınızı girip Kaydol düğmesine tıkladıktan sonra, web uygulamanız Facebook hesabınız için varsayılan giriş sayfası görüntüler:
Varsayılan Facebook giriş sayfasını görüntüleyen
Genişletmek için Tıklayın
Google Kimlik Doğrulamasını Etkinleştirme
Google kimlik doğrulamasını kullanmak için bir Google geliştirici hesabı oluşturmanız gerekir ve projenizin çalışması için Google'dan bir uygulama kimliği ve gizli anahtar gerekir. Google geliştirici hesabı oluşturma ve uygulama kimliğinizi ve gizli anahtarınızı alma hakkında bilgi için bkz. https://developers.google.com.
Web uygulamanız için Google kimlik doğrulamasını etkinleştirmek için aşağıdaki adımları kullanın:
Projeniz Visual Studio 2017'de açık olduğunda Startup.Auth.cs dosyasını açın.
Kodun Google kimlik doğrulaması bölümünü bulun:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});
Vurgulanan kod satırlarını açmak için "//" karakterlerini kaldırın ve ardından uygulama kimliğinizi ve gizli anahtarınızı ekleyin. Bu parametreleri ekledikten sonra projenizi yeniden derleyebilirsiniz:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() { ClientId = "477522346600.apps.googleusercontent.com", ClientSecret = "gobkdpbocikdfbnfahjladnetpdkvmic" });
Web uygulamanızı web tarayıcınızda açmak için F5 tuşuna bastığınızda Google'ın bir dış kimlik doğrulama hizmeti olarak tanımlandığını görürsünüz:
Google
düğmesine tıkladığınızda tarayıcınız Google oturum açma sayfasına yönlendirilir: Google kimlik bilgilerinizi girip oturum aç'a tıkladıktan sonra Google, web uygulamanızın Google hesabınıza erişim izinlerine sahip olduğunu doğrulamanızı ister:
Kabul Et
tıkladığınızda, web tarayıcınız web uygulamanıza geri yönlendirilir ve bu, Google hesabınızla ilişkilendirmek istediğiniz Kullanıcı adı girmenizi ister:Kullanıcı adınızı girip Kaydol düğmesine tıkladıktan sonra, web uygulamanız Google hesabınız için varsayılan giriş sayfası görüntüler:
Microsoft Kimlik Doğrulamasını Etkinleştirme
Microsoft kimlik doğrulaması, bir geliştirici hesabı oluşturmanızı gerektirir ve çalışması için bir istemci kimliği ile istemci gizli anahtarına ihtiyaç duyar. Microsoft geliştirici hesabı oluşturma ve istemci kimliği ile istemci sırrı alma hakkında bilgi için bkz. https://go.microsoft.com/fwlink/?LinkID=144070.
Tüketici anahtarınızı ve tüketici gizli dizinizi aldıktan sonra, web uygulamanız için Microsoft kimlik doğrulamasını etkinleştirmek için aşağıdaki adımları kullanın:
Projeniz Visual Studio 2017'de açık olduğunda Startup.Auth.cs dosyasını açın.
Kodun Microsoft kimlik doğrulaması bölümünü bulun:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});
Vurgulanan kod satırlarındaki "//" karakterlerini kaldırarak yorum satırlarını kaldırın ve ardından istemci kimliğinizi ve istemci gizlinizi ekleyin. Bu parametreleri ekledikten sonra projenizi yeniden derleyebilirsiniz:
// Uncomment the following lines to enable logging in with third party login providers app.UseMicrosoftAccountAuthentication( clientId: "426f62526f636b73", clientSecret: "57686f6120447564652c2049495320526f636b73"); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});
Web uygulamanızı web tarayıcınızda açmak için F5 tuşuna bastığınızda, Microsoft'un bir dış kimlik doğrulama hizmeti olarak tanımlandığını görürsünüz:
Microsoft düğmesine tıkladığınızda, tarayıcınız Microsoft oturum açma sayfasına yönlendirilir:
Microsoft kimlik bilgilerinizi girip Oturum açseçeneğine tıkladıktan sonra, web uygulamanızın Microsoft hesabınıza erişim izinlerine sahip olduğunu doğrulamanız istenir:
Evet
'e tıkladığınızda, web tarayıcınız web uygulamanıza geri yönlendirilir ve bu, Microsoft hesabınızla ilişkilendirmek istediğiniz Kullanıcı adı girmenizi ister:Kullanıcı adınızı girip Kaydol düğmesine tıkladıktan sonra, web uygulamanız Microsoft hesabınız için varsayılan giriş sayfası görüntüler:
Twitter Kimlik Doğrulamasını Etkinleştirme
Twitter doğrulaması için bir geliştirici hesabı oluşturmanız ve çalışabilmesi için bir tüketici anahtarı ve tüketici sır değeri gerekir. Twitter geliştirici hesabı oluşturma ve tüketici anahtarınızı ile tüketici sırrınızı alma hakkında bilgi almak için, bkz. https://go.microsoft.com/fwlink/?LinkID=252166.
Tüketici anahtarınızı ve tüketici gizli dizinizi aldıktan sonra, web uygulamanız için Twitter kimlik doğrulamasını etkinleştirmek için aşağıdaki adımları kullanın:
Projeniz Visual Studio 2017'de açık olduğunda Startup.Auth.cs dosyasını açın.
Kodun Twitter kimlik doğrulaması bölümünü bulun:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});
Vurgulanan kod satırlarını açmak için "//" karakterlerini kaldırın ve ardından tüketici anahtarınızı ve tüketici sırrınızı ekleyin. Bu parametreleri ekledikten sonra projenizi yeniden derleyebilirsiniz:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); app.UseTwitterAuthentication( consumerKey: "426f62526f636b73", consumerSecret: "57686f6120447564652c2049495320526f636b73"); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});
Web uygulamanızı web tarayıcınızda açmak için F5 tuşuna bastığınızda Twitter'ın bir dış kimlik doğrulama hizmeti olarak tanımlandığını görürsünüz:
Twitter
düğmesine tıkladığınızda tarayıcınız Twitter oturum açma sayfasına yönlendirilir: Twitter kimlik bilgilerinizi girip Uygulamayıyetkilendir'e tıkladıktan sonra, web tarayıcınız web uygulamanıza geri yönlendirilir ve bu, Twitter hesabınızla ilişkilendirmek istediğiniz Kullanıcı adı girmenizi ister:
Kullanıcı adınızı girip Kaydol düğmesine tıkladıktan sonra web uygulamanız Twitter hesabınız için varsayılan giriş sayfası görüntüler:
Ek Bilgiler
OAuth ve OpenID kullanan uygulamalar oluşturma hakkında ek bilgi için aşağıdaki URL'lere bakın:
Dış Kimlik Doğrulama Hizmetlerini Birleştirme
Daha fazla esneklik için aynı anda birden çok dış kimlik doğrulama hizmeti tanımlayabilirsiniz; bu, web uygulamanızın kullanıcılarının etkinleştirilen dış kimlik doğrulama hizmetlerinden herhangi birinden bir hesap kullanmasına olanak tanır:
IIS Express'i tam alan adı kullanacak şekilde yapılandırma
Bazı dış kimlik doğrulama sağlayıcıları, http://localhost:port/
gibi bir HTTP adresi kullanarak uygulamanızı test etme desteği vermez. Bu sorunu geçici olarak çözmek için HOSTS dosyanıza statik bir Tam Etki Alanı Adı (FQDN) eşlemesi ekleyebilir ve Visual Studio 2017'deki proje seçeneklerinizi test/hata ayıklama için FQDN'yi kullanacak şekilde yapılandırabilirsiniz. Bunu yapmak için aşağıdaki adımları kullanın:
HOSTS dosyanızla eşlenen statik bir FQDN ekleyin:
Windows'ta yükseltilmiş bir komut istemi açın.
Aşağıdaki komutu yazın:
not defteri %WinDir%\system32\drivers\etc\hosts
HOSTS dosyasına aşağıdaki gibi bir girdi ekleyin:
127.0.0.1 www.wingtiptoys.com
HOSTS dosyanızı kaydedin ve kapatın.
Visual Studio projenizi FQDN'yi kullanacak şekilde yapılandırın:
- Projeniz Visual Studio 2017'de açık olduğunda, Project menüsüne tıklayın ve projenizin özelliklerini seçin. Örneğin, WebApplication1 Özellikleriseçebiliriz.
- Web sekmesini seçin.
- Proje Url'siiçin FQDN'nizi girin. Örneğin, HOSTS dosyanıza eklediğiniz FQDN eşlemesi buysa http://www.wingtiptoys.com girersiniz.
IIS Express'i uygulamanız için FQDN kullanacak şekilde yapılandırın:
Windows'ta yükseltilmiş bir komut istemi açın.
IIS Express klasörünüzle değiştirmek için aşağıdaki komutu yazın:
cd /d "%ProgramFiles%\IIS Express"
FQDN'yi uygulamanıza eklemek için aşağıdaki komutu yazın:
appcmd.exe config ayarla -section:system.applicationHost/sites /+"[name='WebApplication1'].bindings.[protocol='http',bindingInformation='*:80:www.wingtiptoys.com']" /commit:apphost
Burada WebApplication1 projenizin adıdır ve bindingInformation testinizde kullanmak istediğiniz bağlantı noktası numarasını ve FQDN'yi içerir.
Microsoft Kimlik Doğrulaması için Uygulama Ayarlarınızı Alma
Bir uygulamayı Microsoft Kimlik Doğrulaması için Windows Live'a bağlamak basit bir işlemdir. Bir uygulamayı Windows Live'a bağlamadıysanız aşağıdaki adımları kullanabilirsiniz:
https://go.microsoft.com/fwlink/?LinkID=144070'e gidin ve istem edildiğinde Microsoft hesabınızın adını ve parolanızı girin, ardından Oturum aç'a tıklayın:
Bir uygulama ekle'yi seçin ve istendiğinde uygulamanızın adını girin, ardından Oluşturdüğmesine tıklayın:
Ad
altında uygulamanızı seçin ve uygulama özellikleri sayfası görüntülenir. Uygulamanızın yeniden yönlendirme etki alanını girin. Uygulama Kimliği kopyalayın ve Uygulama Sırlarıaltında Parola Oluşturseçin. Görüntülenen parolayı kopyalayın. Uygulama kimliği ve parola, istemci kimliğiniz ve istemci sırrınızdır. Tamam
'ı seçin ve ardındanKaydet'i .
İsteğe bağlı: Yerel Kaydı Devre Dışı Bırak
Geçerli ASP.NET yerel kayıt işlevi, otomatik programların (botların) üye hesapları oluşturmasını engellemez; örneğin, CAPTCHAgibi bir bot önleme ve doğrulama teknolojisi kullanarak. Bu nedenle, oturum açma sayfasındaki yerel oturum açma formunu ve kayıt bağlantısını kaldırmanız gerekir. Projenizdeki _Login.cshtml sayfasını açın ve ardından yerel oturum açma paneli ile kayıt bağlantısının satırlarını yorum satırı haline getirin. Sonuçta elde edilen sayfa aşağıdaki kod örneğine benzer olmalıdır:
<!-- ko with: login -->
<hgroup class="title">
<h1>Log in</h1>
</hgroup>
<div class="row-fluid">
@*<section class="span7">
<form>
<fieldset class="form-horizontal">
<legend>Use a local account to log in.</legend>
<ul class="text-error" data-bind="foreach: errors">
<li data-bind="text: $data"></li>
</ul>
<div class="control-group">
<label for="UserName" class="control-label">User name</label>
<div class="controls">
<input type="text" name="UserName" data-bind="value: userName, hasFocus: true" />
<span class="text-error" data-bind="visible: userName.hasError, text: userName.errorMessage"></span>
</div>
</div>
<div class="control-group">
<label for="Password" class="control-label">Password</label>
<div class="controls">
<input type="password" name="Password" data-bind="value: password" />
<span class="text-error" data-bind="visible: password.hasError, text: password.errorMessage"></span>
</div>
</div>
<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="RememberMe" data-bind="checked: rememberMe" />
<label for="RememberMe">Remember me?</label>
</label>
</div>
</div>
<div class="form-actions no-color">
<button type="submit" class="btn" data-bind="click: login, disable: loggingIn">Log in</button>
</div>
<p><a href="#" data-bind="click: register">Register</a> if you don't have a local account.</p>
</fieldset>
</form>
</section>*@
<section class="span5">
<h2>Log in using another service</h2>
<div data-bind="visible: loadingExternalLogin">Loading...</div>
<div data-bind="visible: !loadingExternalLogin()">
<div class="message-info" data-bind="visible: !hasExternalLogin()">
<p>
There are no external authentication services configured. See <a href="https://go.microsoft.com/fwlink/?LinkId=252166">this article</a>
for details on setting up this ASP.NET application to support logging in via external services.
</p>
</div>
<form data-bind="visible: hasExternalLogin">
<fieldset class="form-horizontal">
<legend>Use another service to log in.</legend>
<p data-bind="foreach: externalLoginProviders">
<button type="submit" class="btn" data-bind="text: name, attr: { title: 'Log in using your ' + name() + ' account' }, click: login"></button>
</p>
</fieldset>
</form>
</div>
</section>
</div>
<!-- /ko -->
Yerel oturum açma paneli ve kayıt bağlantısı devre dışı bırakıldıktan sonra oturum açma sayfanız yalnızca etkinleştirdiğiniz dış kimlik doğrulama sağlayıcılarını görüntüler: