ASP.NET Web Pages - WebSecurity Nesnesi

Açıklama

WebSecurity nesnesi, ASP.NET Web Pages uygulamalarına güvenlik ve kimlik doğrulama sağlar.

WebSecurity nesnesi aracılığıyla kullanıcı hesapları oluşturabilir, giriş yapabilir, çıkış yapabilir, parola sıfırlayabilir veya değiştirebilir vb.

WebSecurity Nesnesi Referans Kılavuzu - Özellikler

Özellik Açıklama
CurrentUserId Mevcut kullanıcının ID'sini alır.
CurrentUserName Mevcut kullanıcının adını alır.
HasUserId Mevcut kullanıcıya sahip olup olmadığını belirten değeri alır. Eğer varsa, true döndürür.
IsAuthenticated Mevcut kullanıcının kimlik doğrulama durumunu alır.

WebSecurity Nesnesi Referans Kılavuzu - Metotlar

Özellik Açıklama
ChangePassword() Kullanıcının şifresini değiştirir.
ConfirmAccount() Hesabın geçerli olduğunu doğrular ve hesabı etkinleştirir.
CreateAccount() Yeni bir kullanıcı hesabı oluşturur.
CreateUserAndAccount() Yeni bir kullanıcı hesabı oluşturur.
GeneratePasswordResetToken() Kullanıcıya e-posta yoluyla gönderilebilecek bir parola sıfırlama jetonu oluşturur.
GetCreateDate() Belirtilen üyelik hesabının oluşturulma tarihini ve zamanını döndürür.
GetPasswordChangeDate() Belirtilen üyelik hesabının şifresinin en son ne zaman değiştirildiğini ve tarihini döndürür.
GetPasswordFailures
SinceLastSuccess()
Son başarılı giriş veya üyelik hesabı oluşturma sırasında hatalı şifre girişlerinin sayısını döndürür.
GetUserId() Belirtilen kullanıcı adına göre kullanıcı ID'sini döndür.
GetUserIdFrom
PasswordResetToken ()
Şifre sıfırlama jetonundan kullanıcı ID'sini döndürün.
InitializeDatabaseConnection() Kullanıcı bilgilerini içeren veritabanına bağlanarak üyelik sistemini başlatın.
IsAccountLockedOut() Belirtilen üyelik hesabının çok fazla şifre denemesi nedeniyle kilidinde olup olmadığını belirtir.
IsConfirmed() Kullanıcının onaylanmış olup olmadığını belirten bir değer döndürür.
IsCurrentUser() Giriş yapmış kullanıcı adının belirtilen kullanıcı adı ile eşleşip eşleşmediğini belirten bir değer döndürür.
Login() Kullanıcıyı giriş yapın.
Logout() Kullanıcıyı çıkış yapın.
RequireAuthenticatedUser() Kullanıcı kimlik doğrulama yapmamışsa, HTTP durumunu 401 (Yetkisiz) olarak ayarlayın.
RequireRoles() Mevcut kullanıcı belirtilen rolün üyesi değilse, HTTP durum kodunu 401 olarak ayarlayın.
RequireUser() Mevcut kullanıcı belirtilen kullanıcı değilse, HTTP durumunu 401 olarak ayarlayın.
ResetPassword() Şifre sıfırlama jetonu kullanarak şifre sıfırlayın.
UserExists() Kullanıcı var olup olmadığını kontrol edin.

Teknik veri

Ad Değer
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll

WebSecurity veritabanını başlatın

WebSecurity nesnesini kullanmadan önce, WebSecurity veritabanını oluşturmak veya başlatmak zorundasınız.

Web'in çalışma dizininde, _AppStart.cshtml sayfasını oluşturun veya düzenleyin.

Bu dosyaya aşağıdaki kodu yazın:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", 
true);
}

Web sitesi her açıldığında yukarıdaki kod çalıştırılır. Bu, WebSecurity veritabanını başlatır.

"Users" WebSecurity veritabanının adıdır. (Users.sdf)

"UserProfile" kullanıcı yapılandırma bilgilerini içeren veritabanı tablosunun adıdır.

"UserId", kullanıcı ID'sini içeren sütunun adı (anahtar).

"E-posta", kullanıcı adını içeren sütun adıdır.

Sonuncu parametre true, kullanıcı profil tablosu ve üyelik tablosunun (varsa) oluşturulup oluşturulmayacağını belirten bir mantıksal değerdir.

İpucu: true, otomatik olarak veritabanı tablolarının oluşturulacağını gösterir, ancak veritabanı kendisi otomatik olarak oluşturulmaz. Oluşturulmalıdır.

WebSecurity Veritabanı

UserProfile tablosundaki her kayıt bir kullanıcıyı temsil eder,其中包括 kullanıcı ID'si (anahtar) ve kullanıcı adı (e-posta):

UserId E-posta
1 john@johnson.net
2 peter@peterson.com
3 lars@larson.eut

Membership tablosu, kullanıcı ne zaman oluşturulduğunu ve üyeliği onaylanıp onaylanmadığını (ve ne zaman) gibi üyelik bilgilerini içerir.

Böyle bir (bazı sütunlar sıralanmamıştır):

UserId Oluşturma Tarihi Onaylama
Token
Mi
Onaylama
Sonuncusu
Şifre Hatası
Şifre Şifre Değiştirme
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Açıklama:Tüm sütunları ve tüm içeriği görmek istiyorsanız, veritabanını WebMatrix ile açın ve her tabloyu kontrol edin.

Basit Üyelik Yapılandırması

WebSecurity nesnesi kullanılırken hata alıyorsanız, siteniz ASP.NET Web Pages SimpleMembership sistemini kullanılmamışsa olabilir.

Sunucu sağlayıcısının yapılandırması yerel sunucunuzla farklıysa, hata meydana gelebilir. Bu sorunu çözmek için, sitesinin Web.config dosyasına aşağıdaki öğeyi ekleyin:

<appSettings> 
<add key="enableSimpleMembership" value="true" /> 
</appSettings>