Membership Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kullanıcı kimlik bilgilerini doğrular ve kullanıcı ayarlarını yönetir. Bu sınıf devralınamaz.
public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
- Devralma
-
Membership
Örnekler
Aşağıdaki kod örneği, form kimlik doğrulaması ve ASP.NET üyeliği kullanmak üzere yapılandırılmış bir ASP.NET uygulamasının oturum açma sayfasını gösterir. Sağlanan kullanıcı kimlik bilgileri geçersizse, kullanıcıya bir ileti görüntülenir. Aksi takdirde, kullanıcı yöntemi kullanılarak başlangıçta istenen URL'ye RedirectFromLoginPage yönlendirilir.
Note
ASP.NET oturum açma denetimleri (Login, LoginView, LoginStatus, LoginName ve PasswordRecovery) kullanıcıların kimlik bilgilerini istemesi ve üyelik sistemindeki kimlik bilgilerini doğrulaması için gereken mantığın neredeyse tümünü kapsüller ve Membership sınıfı kullanılarak programlı denetim yerine kullanılabilir.
Important
Bu örnek, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu içerir. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Login_OnClick(object sender, EventArgs args)
{
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Login_OnClick(sender As Object, args As EventArgs)
If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
Açıklamalar
Membership sınıfı, ASP.NET uygulamalarında kullanıcı kimlik bilgilerini doğrulamak ve parolalar ve e-posta adresleri gibi kullanıcı ayarlarını yönetmek için kullanılır. sınıfı Membership kendi başına veya ile FormsAuthentication birlikte bir Web uygulamasının veya sitesinin kullanıcılarının kimliğini doğrulamak için eksiksiz bir sistem oluşturmak için kullanılabilir. Denetim, Login kullanıcıları doğrulamak için uygun bir mekanizma sağlamak üzere sınıfını kapsüller Membership .
Note
ASP.NET üyelik özelliklerini bilmiyorsanız devam etmeden önce bkz. Üyeye Giriş . Üyelikle ilgili diğer konuların listesi için bkz. Üyeliği Kullanarak Kullanıcıları Yönetme.
Membership sınıfı şunlar için olanaklar sağlar:
Yeni kullanıcılar oluşturma.
Üyelik bilgilerini (kullanıcı adları, parolalar, e-posta adresleri ve destekleyici veriler) Microsoft SQL Server veya alternatif bir veri deposunda depolama.
Sitenizi ziyaret eden kullanıcıların kimliğini doğrulama. Kullanıcıların kimliğini program aracılığıyla doğrulayabilir veya denetimi kullanarak Login çok az kod gerektiren veya hiç kod gerektirmeyen eksiksiz bir kimlik doğrulama sistemi oluşturabilirsiniz.
Parolaları oluşturma, değiştirme, alma ve sıfırlama gibi işlemleri içeren parolaları yönetme. İsteğe bağlı olarak ASP.NET üyeliğini parola sıfırlama veya parolalarını unutan kullanıcılara yönelik alma isteklerinin kimliğini doğrulamak için parola sorusu ve yanıtı gerektirecek şekilde yapılandırabilirsiniz.
ASP.NET üyelik, ASP.NET Kimlik doğrulaması için kendi kendine sunulan bir özellik olsa da, siteniz için yetkilendirme hizmetleri sağlamak üzere ASP.NET rol yönetimiyle tümleştirilebilir. Üyelik, tek tek kullanıcılara uyarlanabilir uygulamaya özgü özelleştirme sağlamak için ASP.NET kullanıcı System.Web.Profile ile de tümleştirilebilir. Ayrıntılar için bkz. Role Management'ı Anlama ve ASP.NET Profil Özelliklerine Genel Bakış.
sınıfı, Membership bir veri kaynağıyla iletişim kurmak için üyelik sağlayıcılarına dayanır. .NET Framework, kullanıcı bilgilerini bir Microsoft SQL Server veritabanı depolayan bir SqlMembershipProvider ve kullanıcı bilgilerini bir Active Directory veya Active Directory Uygulama Modu (ADAM) sunucusunda depolamanızı sağlayan bir ActiveDirectoryMembershipProvider içerir. Sınıf tarafından Membership kullanılabilecek alternatif bir veri kaynağıyla iletişim kurmak için özel üyelik sağlayıcısı da uygulayabilirsiniz. Özel üyelik sağlayıcıları soyut sınıfı devralır MembershipProvider . Daha fazla bilgi için bkz. Üyelik Sağlayıcısı Uygulama.
Varsayılan olarak, tüm ASP.NET uygulamalar için ASP.NET üyeliği etkinleştirilir. Varsayılan üyelik sağlayıcısı ve SqlMembershipProvider makine yapılandırmasında adıyla AspNetSqlProviderbelirtilir.
SqlMembershipProvider varsayılan örneği, Microsoft SQL Server yerel örneğine bağlanacak şekilde yapılandırılır.
Varsayılan ayarları değiştirerek varsayılan sağlayıcı olarak SqlMembershipProvider örneği dışında bir AspNetSqlProvider belirtebilir veya Web.config dosyasını kullanarak ASP.NET uygulamanız için varsayılan sağlayıcı olarak özel bir sağlayıcı örneği belirtebilirsiniz. Web.config dosyasındaki membership yapılandırma bölümünü kullanarak Web uygulamanız için ASP.NET üyelik yapılandırmasını belirtebilirsiniz. Varsayılan sağlayıcılardan biri dışında bir üyelik sağlayıcısı belirtmek için üyelik bölümünün sağlayıcılar alt bölümünü kullanabilirsiniz. Örneğin, aşağıdaki membership bölümü, varsayılan üyelik sağlayıcılarını geçerli uygulama yapılandırmasından kaldırır ve SqlProvider adlı bir SQL Server örneğine bağlanan AspSqlServer adlı yeni bir sağlayıcı ekler.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=AspSqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
Özellikler
| Name | Description |
|---|---|
| ApplicationName |
Uygulamanın adını alır veya ayarlar. |
| EnablePasswordReset |
Geçerli üyelik sağlayıcısının kullanıcıların parolalarını sıfırlamasına izin verecek şekilde yapılandırılıp yapılandırılmadığını belirten bir değer alır. |
| EnablePasswordRetrieval |
Geçerli üyelik sağlayıcısının kullanıcıların parolalarını almasına izin verecek şekilde yapılandırılıp yapılandırılmadığını belirten bir değer alır. |
| HashAlgorithmType |
Parolaları karma olarak kullanmak için kullanılan algoritmanın tanımlayıcısı. |
| MaxInvalidPasswordAttempts |
Üyelik kullanıcısı kilitlenmeden önce izin verilen geçersiz parola veya parola yanıtı denemelerinin sayısını alır. |
| MinRequiredNonAlphanumericCharacters |
Geçerli bir parolada bulunması gereken en az sayıda özel karakter alır. |
| MinRequiredPasswordLength |
Parola için gereken en düşük uzunluğu alır. |
| PasswordAttemptWindow |
Geçerli bir parola veya parola yanıtı sağlamaya yönelik ardışık başarısız girişimlerin izlendiği zaman penceresini alır. |
| PasswordStrengthRegularExpression |
Parolayı değerlendirmek için kullanılan normal ifadeyi alır. |
| Provider |
Uygulama için varsayılan üyelik sağlayıcısına başvuru alır. |
| Providers |
ASP.NET uygulaması için üyelik sağlayıcıları koleksiyonunu alır. |
| RequiresQuestionAndAnswer |
Varsayılan üyelik sağlayıcısının, parola sıfırlama ve alma için kullanıcının parola sorusunu yanıtlamasını gerektirip gerektirmediğini belirten bir değer alır. |
| UserIsOnlineTimeWindow |
Kullanıcının çevrimiçi olarak kabul edildiği son etkinlik tarih/saat damgasından sonraki dakika sayısını belirtir. |
Yöntemler
| Name | Description |
|---|---|
| CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) |
Veri deposuna belirtilen özellik değerlerine sahip yeni bir kullanıcı ekler ve kullanıcının başarıyla oluşturulduğunu veya kullanıcı oluşturma işleminin başarısız olmasının nedenini belirten bir durum parametresi döndürür. |
| CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) |
Veri deposuna belirtilen özellik değerlerine ve benzersiz tanımlayıcıya sahip yeni bir kullanıcı ekler ve kullanıcının başarıyla oluşturulduğunu veya kullanıcı oluşturma işleminin başarısız olmasının nedenini belirten bir durum parametresi döndürür. |
| CreateUser(String, String, String) |
Veri deposuna belirtilen e-posta adresine sahip yeni bir kullanıcı ekler. |
| CreateUser(String, String) |
Veri deposuna yeni bir kullanıcı ekler. |
| DeleteUser(String, Boolean) |
Bir kullanıcıyı veritabanından siler. |
| DeleteUser(String) |
Veritabanından bir kullanıcıyı ve ilgili kullanıcı verilerini siler. |
| FindUsersByEmail(String, Int32, Int32, Int32) |
E-posta adresinin eşleşecek belirtilen e-posta adresini içerdiği bir veri sayfasında üyelik kullanıcılarından oluşan bir koleksiyon alır. |
| FindUsersByEmail(String) |
E-posta adresinin eşleşecek belirtilen e-posta adresini içerdiği üyelik kullanıcılarından oluşan bir koleksiyon alır. |
| FindUsersByName(String, Int32, Int32, Int32) |
Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği bir veri sayfasında üyelik kullanıcılarından oluşan bir koleksiyon alır. |
| FindUsersByName(String) |
Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği üyelik kullanıcılarından oluşan bir koleksiyon alır. |
| GeneratePassword(Int32, Int32) |
Belirtilen uzunlukta rastgele bir parola oluşturur. |
| GetAllUsers() |
Veritabanındaki tüm kullanıcıların koleksiyonunu alır. |
| GetAllUsers(Int32, Int32, Int32) |
Veri sayfalarında veritabanındaki tüm kullanıcıların bir koleksiyonunu alır. |
| GetNumberOfUsersOnline() |
Şu anda bir uygulamaya erişen kullanıcı sayısını alır. |
| GetUser() |
Veri kaynağından bilgileri alır ve geçerli oturum açmış üyelik kullanıcısı için son etkinlik tarih/saat damgasını güncelleştirir. |
| GetUser(Boolean) |
Geçerli oturum açmış üyelik kullanıcısının veri kaynağından bilgileri alır. Belirtilen geçerli oturum açmış üyelik kullanıcısı için son etkinlik tarih/saat damgasını güncelleştirir. |
| GetUser(Object, Boolean) |
Belirtilen benzersiz tanımlayıcıyla ilişkilendirilmiş üyelik kullanıcısının veri kaynağından bilgileri alır. Kullanıcı için son etkinlik tarih/saat damgasını (belirtilirse) güncelleştirir. |
| GetUser(Object) |
Belirtilen benzersiz tanımlayıcıyla ilişkilendirilmiş üyelik kullanıcısının veri kaynağından bilgileri alır. |
| GetUser(String, Boolean) |
Belirtilen üyelik kullanıcısının veri kaynağından bilgileri alır. Kullanıcı için son etkinlik tarih/saat damgasını (belirtilirse) güncelleştirir. |
| GetUser(String) |
Belirtilen üyelik kullanıcısının veri kaynağından bilgileri alır. |
| GetUserNameByEmail(String) |
Kullanıcının e-posta adresinin belirtilen e-posta adresiyle eşleştiği bir kullanıcı adı alır. |
| UpdateUser(MembershipUser) |
Veritabanını belirtilen kullanıcının bilgileriyle güncelleştirir. |
| ValidateUser(String, String) |
Sağlanan kullanıcı adı ve parolanın geçerli olduğunu doğrular. |
Ekinlikler
| Name | Description |
|---|---|
| ValidatingPassword |
Kullanıcı oluşturulduğunda, parola değiştirildiğinde veya parola sıfırlandığında gerçekleşir. |