Aracılığıyla paylaş


Temel Güvenlik Kavramları ve ASP.NET Desteği (VB)

tarafından Scott Mitchell

Not

Bu makale yazıldığından beri, ASP.NET Üyelik sağlayıcılarının yerini ASP.NET Identity alır. Bu makalenin yazıldığı sırada öne çıkan Üyelik sağlayıcıları yerine ASP.NET Kimlik platformunu kullanmak için uygulamaları güncelleştirmenizi kesinlikle öneririz. ASP.NET Identity, ASP.NET Üyelik sistemine göre aşağıdakiler dahil olmak üzere çeşitli avantajlara sahiptir:

  • Daha iyi performans
  • Geliştirilmiş genişletilebilirlik ve test edilebilirlik
  • OAuth, OpenID Connect ve iki öğeli kimlik doğrulaması desteği
  • Talep Tabanlı Kimlik desteği
  • ASP.Net Core ile daha iyi birlikte çalışabilirlik

PDF’yi İndir

Bu, bir web formu aracılığıyla ziyaretçilerin kimliğini doğrulama, belirli sayfalara ve işlevlere erişim yetkisi verme ve bir ASP.NET uygulamasında kullanıcı hesaplarını yönetme tekniklerini keşfedecek bir dizi öğreticinin ilk öğreticisidir.

Giriş

Forumların, e-ticaret sitelerinin, çevrimiçi e-posta web sitelerinin, portal web sitelerinin ve sosyal ağ sitelerinin ortak özelliği nedir? Hepsi kullanıcı hesapları sunar. Kullanıcı hesapları sunan sitelerin bir dizi hizmet sağlaması gerekir. En azından yeni ziyaretçilerin hesap oluşturabilmesi ve geri dönen ziyaretçilerin oturum açabilmesi gerekir. Bu tür web uygulamaları, oturum açmış kullanıcıya göre kararlar alabilir: bazı sayfalar veya eylemler yalnızca oturum açmış kullanıcılarla veya belirli bir kullanıcı alt kümesiyle sınırlandırılmış olabilir; diğer sayfalar, oturum açmış kullanıcıya özgü bilgileri gösterebilir veya sayfayı hangi kullanıcının görüntüleyebileceğine bağlı olarak daha fazla veya daha az bilgi gösterebilir.

Bu, bir web formu aracılığıyla ziyaretçilerin kimliğini doğrulama, belirli sayfalara ve işlevlere erişim yetkisi verme ve bir ASP.NET uygulamasında kullanıcı hesaplarını yönetme tekniklerini keşfedecek bir dizi öğreticinin ilk öğreticisidir. Bu öğreticiler boyunca şunların nasıl yapılacağını inceleyeceğiz:

  • Kullanıcıları tanımlama ve bir web sitesinde oturum açma
  • ASP kullanın. KULLANıCı hesaplarını yönetmek için NET'in Üyelik çerçevesi
  • Kullanıcı hesaplarını oluşturma, güncelleştirme ve silme
  • Oturum açmış kullanıcıya göre web sayfasına, dizine veya belirli işlevlere erişimi sınırlama
  • ASP kullanın. KULLANıCı hesaplarını rollerle ilişkilendirmek için NET'in Roller çerçevesi
  • Kullanıcı rollerini yönetme
  • Oturum açmış kullanıcının rolüne göre web sayfasına, dizine veya belirli işlevlere erişimi sınırlama
  • ASP'i özelleştirin ve genişletin. NET'in güvenlik Web denetimleri

Bu öğreticiler kısa olacak şekilde hazırlandı ve işlemde görsel olarak size yol gösterirken birçok ekran görüntüsüyle birlikte adım adım yönergeler sağlar. Her öğretici C# ve Visual Basic sürümlerinde kullanılabilir ve kullanılan kodun tamamının indirilmesini içerir. (Bu ilk öğretici, üst düzey bir bakış açısından güvenlik kavramlarına odaklanır ve bu nedenle ilişkili kod içermez.)

Bu öğreticide form kimlik doğrulaması, yetkilendirme, kullanıcı hesapları ve rollerin uygulanmasına yardımcı olmak için önemli güvenlik kavramlarını ve ASP.NET hangi tesislerin kullanılabilir olduğunu ele alacaktır. Haydi başlayalım!

Not

Güvenlik, fiziksel, teknolojik ve ilke kararlarını kapsayan ve yüksek düzeyde planlama ve etki alanı bilgisi gerektiren her uygulamanın önemli bir yönüdür. Bu öğretici serisi, güvenli web uygulamaları geliştirmeye yönelik bir kılavuz olarak tasarlanmamıştır. Bunun yerine, özellikle form kimlik doğrulaması, yetkilendirme, kullanıcı hesapları ve rollere odaklanır. Bu sorunlarla ilgili bazı güvenlik kavramları bu seride ele alınsa da diğerleri keşfedilmemiş durumdadır.

Kimlik Doğrulaması, Yetkilendirme, Kullanıcı Hesapları ve Roller

Kimlik doğrulaması, yetkilendirme, kullanıcı hesapları ve roller, bu öğretici serisi boyunca çok sık kullanılacak dört terimdir, bu nedenle bu terimleri web güvenliği bağlamında tanımlamak için kısa bir süre almak istiyorum. İnternet gibi bir istemci-sunucu modelinde, sunucunun isteği yapan istemciyi tanımlaması gereken birçok senaryo vardır. Kimlik doğrulaması , istemcinin kimliğini belirleme işlemidir. Başarıyla tanımlanan bir istemcinin kimliğinin doğrulanmış olduğu söylenir. Tanımlanamayan bir istemcinin kimliği doğrulanmamış veya anonim olduğu söylenir.

Güvenli kimlik doğrulama sistemleri aşağıdaki üç modelden en az birini içerir: bildiğiniz bir şey, sahip olduğunuz bir şey veya sizin olduğunuz bir şey. Çoğu web uygulaması, istemcinin bildiği parola veya PIN gibi bir şeye güvenir. Bir kullanıcıyı tanımlamak için kullanılan bilgiler (örneğin, kullanıcı adı ve parolası) kimlik bilgileri olarak adlandırılır. Bu öğretici serisi, kullanıcıların kimlik bilgilerini bir web sayfası formunda sağlayarak sitede oturum açtığı bir kimlik doğrulama modeli olan form kimlik doğrulamasına odaklanır. Hepimiz daha önce bu tür bir kimlik doğrulamasıyla karşılaşmıştık. Herhangi bir e-Ticaret sitesine gidin. Kullanıma almak için hazır olduğunuzda, bir web sayfasındaki metin kutularına kullanıcı adınızı ve parolanızı girerek oturum açmanız istenir.

İstemcileri tanımlamaya ek olarak, bir sunucunun isteği yapan istemciye bağlı olarak hangi kaynaklara veya işlevlere erişilebileceğini sınırlaması gerekebilir. Yetkilendirme , belirli bir kullanıcının belirli bir kaynağa veya işleve erişme yetkisine sahip olup olmadığını belirleme işlemidir.

Kullanıcı hesabı, belirli bir kullanıcı hakkındaki bilgileri kalıcı hale gelen bir depodur. Kullanıcı hesapları, kullanıcının oturum açma adı ve parolası gibi kullanıcıyı benzersiz olarak tanımlayan bilgileri en az düzeyde içermelidir. Bu temel bilgilerle birlikte, kullanıcı hesapları şöyle şeyler içerebilir: kullanıcının e-posta adresi; hesabın oluşturulduğu tarih ve saat; en son oturum açtıkları tarih ve saat; ad ve soyadı; telefon numarası; ve posta adresi. Form kimlik doğrulaması kullanılırken, kullanıcı hesabı bilgileri genellikle Microsoft SQL Server gibi bir ilişkisel veritabanında depolanır.

Kullanıcı hesaplarını destekleyen web uygulamaları isteğe bağlı olarak kullanıcıları roller halinde gruplandırabilir. Rol, yalnızca kullanıcıya uygulanan bir etikettir ve yetkilendirme kurallarını ve sayfa düzeyi işlevselliği tanımlamaya yönelik bir soyutlama sağlar. Örneğin, bir web sitesi, Yönetici dışında herkesin belirli bir web sayfası kümesine erişmesini yasaklayan yetkilendirme kurallarına sahip bir Yönetici rolü içerebilir. Ayrıca, tüm kullanıcılar (Yönetici olmayanlar dahil) tarafından erişilebilen çeşitli sayfalar, Yöneticiler rolündeki kullanıcılar tarafından ziyaret edildiğinde ek veriler görüntüleyebilir veya ek işlevler sunabilir. Rolleri kullanarak, bu yetkilendirme kurallarını kullanıcıya göre değil rol bazında tanımlayabiliriz.

ASP.NET Uygulamasında Kullanıcıların Kimliğini Doğrulama

Bir kullanıcı tarayıcının adres penceresine bir URL girdiğinde veya bir bağlantıya tıkladığında, tarayıcı belirtilen içerik için web sunucusuna ASP.NET sayfası, resim, JavaScript dosyası veya başka herhangi bir içerik türü için köprü metni Aktarım Protokolü (HTTP) isteğinde bulunur. Web sunucusu, istenen içeriği döndürmekle görevlenmiştir. Bunu yaparken, isteği kimin yaptığı ve kimliğin istenen içeriği alma yetkisi olup olmadığı da dahil olmak üzere istekle ilgili bir dizi şeyi belirlemesi gerekir.

Varsayılan olarak, tarayıcılar herhangi bir tanımlama bilgisi içermeyen HTTP istekleri gönderir. Ancak tarayıcı kimlik doğrulama bilgilerini içermiyorsa web sunucusu, isteği yapan istemciyi belirlemeye çalışan kimlik doğrulama iş akışını başlatır. Kimlik doğrulama iş akışının adımları, web uygulaması tarafından kullanılan kimlik doğrulama türüne bağlıdır. ASP.NET üç kimlik doğrulama türünü destekler: Windows, Passport ve formlar. Bu öğretici serisi form kimlik doğrulamasına odaklanır, ancak Windows kimlik doğrulaması kullanıcı depolarını ve iş akışını karşılaştırmak ve karşılaştırmak için bir dakikayı kullanalım.

Windows Kimlik Doğrulaması aracılığıyla kimlik doğrulaması

Windows kimlik doğrulaması iş akışı aşağıdaki kimlik doğrulama tekniklerinden birini kullanır:

  • Temel kimlik doğrulama
  • Özet kimlik doğrulaması
  • Windows Tümleşik Kimlik Doğrulaması

Üç teknik de kabaca aynı şekilde çalışır: yetkisiz, anonim bir istek geldiğinde, web sunucusu devam etmek için yetkilendirme gerektiğini belirten bir HTTP yanıtı gönderir. Ardından tarayıcı, kullanıcıdan kullanıcı adını ve parolasını isteyen kalıcı bir iletişim kutusu görüntüler (bkz. Şekil 1). Bu bilgiler daha sonra bir HTTP üst bilgisi aracılığıyla web sunucusuna geri gönderilir.

Kalıcı İletişim Kutusu Kullanıcıdan Kimlik Bilgilerini İster

Şekil 1: Kalıcı İletişim Kutusu Kullanıcıdan Kimlik Bilgilerini İster

Sağlanan kimlik bilgileri web sunucusunun Windows Kullanıcı Deposu'na göre doğrulanır. Bu, web uygulamanızdaki kimliği doğrulanmış her kullanıcının kuruluşunuzda bir Windows hesabına sahip olması gerektiği anlamına gelir. Bu, intranet senaryolarında yaygındır. Aslında, bir intranet ayarında Windows Tümleşik Kimlik Doğrulaması kullanılırken, tarayıcı web sunucusuna ağda oturum açmak için kullanılan kimlik bilgilerini otomatik olarak sağlar ve böylece Şekil 1'de gösterilen iletişim kutusu gizlenir. Windows kimlik doğrulaması intranet uygulamaları için harika olsa da, sitenizde kaydolan her kullanıcı için Windows hesapları oluşturmak istemediğinizden genellikle İnternet uygulamaları için uygun değildir.

Forms Kimlik Doğrulaması aracılığıyla kimlik doğrulaması

Öte yandan Forms kimlik doğrulaması, İnternet web uygulamaları için idealdir. Forms kimlik doğrulamasının, kullanıcıdan kimlik bilgilerini bir web formu aracılığıyla girmesini isteyip istemediğinizi sorarak kullanıcıyı tanımladığını hatırlayın. Sonuç olarak, bir kullanıcı yetkisiz bir kaynağa erişmeye çalıştığında, kimlik bilgilerini girebileceği oturum açma sayfasına otomatik olarak yönlendirilir. Gönderilen kimlik bilgileri daha sonra özel bir kullanıcı deposunda (genellikle bir veritabanı) doğrulanır.

Gönderilen kimlik bilgileri doğruladıktan sonra, kullanıcı için bir form kimlik doğrulama bileti oluşturulur. Bu bilet, kullanıcının kimliğinin doğrulandığını gösterir ve kullanıcı adı gibi tanımlayıcı bilgileri içerir. Forms kimlik doğrulama bileti (genellikle) istemci bilgisayarda tanımlama bilgisi olarak depolanır. Bu nedenle, web sitesine yapılan sonraki ziyaretler HTTP isteğinde forms kimlik doğrulama biletini içerir ve böylece web uygulamasının oturum açtıktan sonra kullanıcıyı tanımlamasını sağlar.

Şekil 2'de, üst düzey bir bakış noktasından form kimlik doğrulaması iş akışı gösterilmektedir. ASP.NET'daki kimlik doğrulama ve yetkilendirme parçalarının iki ayrı varlık olarak nasıl davrananlara dikkat edin. Forms kimlik doğrulama sistemi kullanıcıyı tanımlar (veya anonim olduğunu bildirir). Kullanıcının istenen kaynağa erişimi olup olmadığını yetkilendirme sistemi belirler. Kullanıcının yetkisiz olması durumunda (ProtectedPage.aspx anonim olarak ziyaret etmeye çalışırken Şekil 2'de olduğu gibi), yetkilendirme sistemi kullanıcının reddedildiğini bildirir ve form kimlik doğrulama sisteminin kullanıcıyı otomatik olarak oturum açma sayfasına yönlendirmesine neden olur.

Kullanıcı başarıyla oturum açtıktan sonra, sonraki HTTP istekleri form kimlik doğrulama biletini içerir. Form kimlik doğrulama sistemi yalnızca kullanıcıyı tanımlar; kullanıcının istenen kaynağa erişip erişemeyeceğini belirleyen yetkilendirme sistemidir.

Forms Kimlik Doğrulaması İş Akışı

Şekil 2: Forms Kimlik Doğrulaması İş Akışı

Bir sonraki öğretici olan Form Kimlik Doğrulamasına Genel Bakış öğreticisinde form kimlik doğrulamasını çok daha ayrıntılı bir şekilde inceleyeceğiz. ASP hakkında daha fazla bilgi için. NET'in kimlik doğrulama seçenekleri, bkz. ASP.NET Kimlik Doğrulaması.

Web Sayfalarına, Dizinlere ve Sayfa İşlevlerine Erişimi Sınırlama

ASP.NET, belirli bir kullanıcının belirli bir dosyaya veya dizine erişim yetkisi olup olmadığını belirlemek için iki yol içerir:

  • Dosya yetkilendirme - ASP.NET sayfaları ve web hizmetleri web sunucusunun dosya sisteminde bulunan dosyalar olarak uygulandığından, bu dosyalara erişim Access Control Listeler (ACL) aracılığıyla belirtilebilir. ACL'ler Windows hesaplarına uygulanan izinler olduğundan, dosya yetkilendirme en yaygın olarak Windows kimlik doğrulaması ile kullanılır. Form kimlik doğrulaması kullanılırken, siteyi ziyaret eden kullanıcıdan bağımsız olarak tüm işletim sistemi ve dosya sistemi düzeyindeki istekler aynı Windows hesabı tarafından yürütülür.
  • URL yetkilendirmesi- URL yetkilendirmesiyle, sayfa geliştiricisi Web.config yetkilendirme kurallarını belirtir. Bu yetkilendirme kuralları, hangi kullanıcıların veya rollerin uygulamadaki belirli sayfalara veya dizinlere erişmesine izin verileceğini veya erişimlerinin reddedileceğini belirtir.

Dosya yetkilendirme ve URL yetkilendirmesi, belirli bir ASP.NET sayfasına veya belirli bir dizindeki tüm ASP.NET sayfalarına erişmek için yetkilendirme kuralları tanımlar. Bu teknikleri kullanarak ASP.NET belirli bir kullanıcı için belirli bir sayfaya yönelik istekleri reddetmesini veya bir kullanıcı kümesine erişim izni vermesini ve diğer herkese erişimi reddetmesini isteyebiliriz. Tüm kullanıcıların sayfaya erişebildiği ancak sayfanın işlevselliğinin kullanıcıya bağlı olduğu senaryolara ne olacak? Örneğin, kullanıcı hesaplarını destekleyen birçok sitenin kimliği doğrulanmış kullanıcılar ve anonim kullanıcılar için farklı içerik veya veri görüntüleyen sayfaları vardır. Anonim bir kullanıcı sitede oturum açmak için bir bağlantı görebilirken, kimliği doğrulanmış bir kullanıcı bunun yerine Yeniden Hoş Geldiniz, Kullanıcı Adı gibi bir ileti ve oturumu kapatma bağlantısı görür. Başka bir örnek: bir açık artırma sitesinde bir öğeyi görüntülerken, teklif veren kişi olmanıza veya bu öğeyi açık artırmaya çıkardığınıza bağlı olarak farklı bilgiler görürsünüz.

Bu tür sayfa düzeyi ayarlamaları bildirim temelli veya programlı olarak gerçekleştirilebilir. Anonim kullanıcılar için kimliği doğrulanmış kullanıcılardan farklı içerik göstermek için bir LoginView denetimini sayfanıza sürükleyip AnonymousTemplate ve LoggedInTemplate şablonlarına uygun içeriği girmeniz yeterlidir. Alternatif olarak, geçerli isteğin kimliğinin doğrulanıp doğrulanmamış olduğunu, kullanıcının kim olduğunu ve hangi rollere ait olduğunu (varsa) program aracılığıyla belirleyebilirsiniz. Bu bilgileri daha sonra sayfadaki bir kılavuzdaki veya Panellerdeki sütunları göstermek veya gizlemek için kullanabilirsiniz.

Bu seri, yetkilendirmeye odaklanan üç öğretici içerir. Kullanıcı Tabanlı Yetkilendirme, belirli kullanıcı hesapları için dizindeki bir sayfaya veya sayfaya erişimi sınırlamayı inceler; Rol Tabanlı Yetkilendirme , rol düzeyinde yetkilendirme kuralları sağlamayı değerlendirir; son olarak, Şu Anda Oturum Açmış Olan Kullanıcıya Göre İçerik Görüntüleme öğreticisi , sayfayı ziyaret eden kullanıcıya göre belirli bir sayfanın içeriğini ve işlevselliğini değiştirmeyi inceler. ASP hakkında daha fazla bilgi için. NET'in yetkilendirme seçenekleri, bkz. Yetkilendirme ASP.NET.

Kullanıcı Hesapları ve Rolleri

ASP. NET'in form kimlik doğrulaması, kullanıcıların bir sitede oturum açması ve sayfa ziyaretlerinde kimliği doğrulanmış durumlarının hatırlanması için bir altyapı sağlar. URL yetkilendirmesi, bir ASP.NET uygulamasındaki belirli dosya veya klasörlere erişimi sınırlamaya yönelik bir çerçeve sunar. Ancak hiçbir özellik, kullanıcı hesabı bilgilerini depolamak veya rolleri yönetmek için bir araç sağlamaz.

ASP.NET 2.0'a başlamadan önce geliştiriciler kendi kullanıcı ve rol depolarını oluşturmakla sorumludur. Ayrıca, kullanıcı arabirimlerini tasarlamak ve oturum açma sayfası ve yeni bir hesap oluşturmak için sayfa gibi kullanıcı hesabıyla ilgili temel sayfaların kodunu yazmak için de kancadaydılar. ASP.NET'da herhangi bir yerleşik kullanıcı hesabı çerçevesi olmadan, kullanıcı hesaplarını uygulayan her geliştiricinin parolaları veya diğer hassas bilgileri depolamak Nasıl yaparım? gibi sorularla ilgili kendi tasarım kararlarına ulaşması gerekiyordu. Parola uzunluğu ve gücüyle ilgili olarak hangi yönergeleri uygulamam gerekir?

Bugün, üyelik çerçevesi ve yerleşik Oturum Açma Web denetimleri sayesinde ASP.NET bir uygulamada kullanıcı hesaplarını uygulamak çok daha kolaydır. Üyelik çerçevesi, System.Web.Security ad alanında kullanıcı hesabıyla ilgili temel görevleri gerçekleştirmek için işlevsellik sağlayan birkaç sınıftır. Üyelik çerçevesinin temel sınıfı, aşağıdaki gibi yöntemleri olan Üyelik sınıfıdır:

  • CreateUser
  • DeleteUser
  • Getallusers
  • Getuser
  • UpdateUser
  • ValidateUser

Üyelik çerçevesi, Üyelik çerçevesinin API'sini uygulamasından temiz bir şekilde ayıran sağlayıcı modelini kullanır. Bu, geliştiricilerin ortak bir API kullanmasına olanak tanır, ancak uygulamalarının özel gereksinimlerini karşılayan bir uygulama kullanmalarına olanak tanır. Kısacası, Üyelik sınıfı çerçevenin temel işlevselliğini (yöntemler, özellikler ve olaylar) tanımlar, ancak aslında herhangi bir uygulama ayrıntısı sağlamaz. Bunun yerine, Üyelik sınıfının yöntemleri, gerçek işi gerçekleştiren yapılandırılmış sağlayıcıyı çağırır. Örneğin, Üyelik sınıfının CreateUser yöntemi çağrıldığında, Üyelik sınıfı kullanıcı deposunun ayrıntılarını bilmez. Kullanıcıların bir veritabanında mı, XML dosyasında mı yoksa başka bir depoda mı tutulmakta olduğunu bilmez. Üyelik sınıfı, çağrının temsilci olarak atanacağı sağlayıcıyı belirlemek için web uygulamasının yapılandırmasını inceler ve bu sağlayıcı sınıfı, yeni kullanıcı hesabını uygun kullanıcı deposunda oluşturmakla sorumludur. Bu etkileşim Şekil 3'te gösterilmiştir.

Microsoft, .NET Framework iki Üyelik sağlayıcısı sınıfı gönderir:

Bu öğretici serisi yalnızca SqlMembershipProvider'a odaklanır.

Sağlayıcı Modeli, Farklı Uygulamaların Çerçeveye Sorunsuz Bir Şekilde Takılmasını Sağlar

Şekil 03: Sağlayıcı Modeli, Farklı Uygulamaların Çerçeveye Sorunsuz Bir Şekilde Takılmasını Sağlar (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Sağlayıcı modelinin avantajı, alternatif uygulamaların Microsoft, üçüncü taraf satıcılar veya bağımsız geliştiriciler tarafından geliştirilip Üyelik çerçevesine sorunsuz bir şekilde takılabilmesidir. Örneğin, Microsoft, Microsoft Access veritabanları için bir Üyelik sağlayıcısı yayımladı. Üyelik sağlayıcıları hakkında daha fazla bilgi için Üyelik sağlayıcıları, örnek özel sağlayıcılar, sağlayıcı modeliyle ilgili 100'den fazla belge sayfası ve yerleşik Üyelik sağlayıcıları için tam kaynak kodu (ActiveDirectoryMembershipProvider ve SqlMembershipProvider) kılavuzu içeren Sağlayıcı Araç Seti'ne bakın.

ASP.NET 2.0 ayrıca Roller çerçevesini de kullanıma sunmlenmiştir. Üyelik çerçevesi gibi Roller çerçevesi de sağlayıcı modelinin üzerinde oluşturulur. API'si Roller sınıfı aracılığıyla kullanıma sunulur ve .NET Framework üç sağlayıcı sınıfıyla birlikte sunulur:

  • AuthorizationStoreRoleProvider - Active Directory veya ADAM gibi bir yetkilendirme yöneticisi ilke deposundaki rol bilgilerini yönetir.
  • SqlRoleProvider - SQL Server veritabanında roller uygular.
  • WindowsTokenRoleProvider - Rol bilgilerini ziyaretçinin Windows grubuna göre ilişkilendirir. Bu yöntem genellikle Windows kimlik doğrulaması ile kullanılır.

Bu öğretici serisi yalnızca SqlRoleProvider'a odaklanır.

Sağlayıcı modeli tek bir ileriye dönük API (Üyelik ve Roller sınıfları) içerdiğinden, uygulama ayrıntıları konusunda endişelenmenize gerek kalmadan bu API'nin çevresinde işlevsellik oluşturmak mümkündür; bunlar sayfa geliştiricisi tarafından seçilen sağlayıcılar tarafından işlenir. Bu birleşik API, Microsoft ve üçüncü taraf satıcıların Üyelik ve Roller çerçeveleriyle arabirim oluşturan Web denetimleri oluşturmasına olanak tanır. ASP.NET, ortak kullanıcı hesabı kullanıcı arabirimlerini uygulamak için bir dizi Oturum Açma Web denetimiyle birlikte gösterilir. Örneğin, Oturum açma denetimi bir kullanıcıdan kimlik bilgilerini ister, doğrular ve sonra form kimlik doğrulaması aracılığıyla oturum açar. LoginView denetimi, anonim kullanıcılara karşı kimliği doğrulanmış kullanıcılara veya kullanıcının rolüne göre farklı işaretlemeleri görüntülemeye yönelik şablonlar sunar. CreateUserWizard denetimi de yeni bir kullanıcı hesabı oluşturmak için adım adım bir kullanıcı arabirimi sağlar.

Altında, Üyelik ve Roller çerçeveleriyle etkileşim kuran çeşitli Oturum Açma denetimleri yer alır. Oturum açma denetimlerinin çoğu tek bir kod satırı yazmak zorunda kalmadan uygulanabilir. Bu denetimleri, işlevlerini genişletme ve özelleştirme teknikleri de dahil olmak üzere gelecek öğreticilerde daha ayrıntılı bir şekilde inceleyeceğiz.

Özet

Kullanıcı hesaplarını destekleyen tüm web uygulamaları, kullanıcıların oturum açma ve oturum açma durumlarının sayfa ziyaretlerinde hatırlanması gibi benzer özellikler gerektirir; yeni ziyaretçilerin hesap oluşturması için bir web sayfası; ve sayfa geliştiricisinin hangi kullanıcılar veya roller için hangi kaynağın, verilerin ve işlevlerin kullanılıp kullanılamayacağını belirtme olanağı. Form kimlik doğrulaması, URL yetkilendirmesi ve Üyelik ve Roller çerçeveleri sayesinde kullanıcıların kimliğini doğrulama ve yetkilendirme ile kullanıcı hesaplarını ve rollerini yönetme görevlerini ASP.NET uygulamalarda gerçekleştirmek son derece kolaydır.

Sonraki birkaç öğretici boyunca, çalışan bir web uygulamasını sıfırdan adım adım oluşturarak bu yönleri inceleyeceğiz. Sonraki iki öğreticide form kimlik doğrulamasını ayrıntılı olarak inceleyeceğiz. Form kimlik doğrulaması iş akışının çalıştığını, form kimlik doğrulama biletini dağıttığınızı, güvenlik sorunlarını tartışacağımızı ve form kimlik doğrulama sisteminin nasıl yapılandırılacağını göreceğiz. Üstelik ziyaretçilerin oturum açıp kapatmasına olanak tanıyan bir web uygulaması oluşturacağız.

Mutlu Programlama!

Daha Fazla Bilgi

Bu öğreticide ele alınan konular hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:

Yazar hakkında

Yedi ASP/ASP.NET kitabının yazarı ve 4GuysFromRolla.com kurucusu Scott Mitchell, 1998'den beri Microsoft Web teknolojileriyle çalışmaktadır. Scott bağımsız bir danışman, eğitmen ve yazar olarak çalışmaktadır. Son kitabı Sams Teach Yourself ASP.NET 24 Hours 2.0'dır. Adresine adresinden veya adresinden ulaşabileceğiniz http://ScottOnWriting.NETblogu aracılığıyla ulaşabilirsinizmitchell@4GuysFromRolla.com.

Özel Teşekkürler

Bu öğretici serisi birçok yararlı gözden geçiren tarafından gözden geçirildi. Bu öğreticinin baş gözden geçireni, Bu öğretici serisi birçok yararlı gözden geçiren tarafından gözden geçirildi. Bu öğreticinin baş gözden geçirenleri arasında Alicja Maziarz, John Suru ve Teresa Murphy yer alır. Yaklaşan MSDN makalelerimi gözden geçirmek istiyor musunuz? Öyleyse, bana adresinden bir satır mitchell@4GuysFromRolla.combırakın.