Membership Sınıf

Tanım

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.

Not

ASP.NET oturum açma denetimleri (Login, LoginView, LoginStatus, LoginNameve 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 sınıfı kullanılarak Membership programlı denetim yerine kullanılabilir.

Önemli

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

sınıfıMembership, kullanıcı kimlik bilgilerini doğrulamak ve parolalar ve e-posta adresleri gibi kullanıcı ayarlarını yönetmek için ASP.NET uygulamalarında 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 .

Not

ASP.NET üyelik özellikleri hakkında bilginiz yoksa devam etmeden önce bkz. Üyelik giriş. Üyelikle ilgili diğer konuların listesi için bkz. Üyeliği Kullanarak Kullanıcıları Yönetme.

sınıfı Membership ş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. Program aracılığıyla kullanıcıların kimliğini doğrulayabilir veya çok az kod gerektiren veya hiç kod gerektirmeyen eksiksiz bir kimlik doğrulama sistemi oluşturmak için denetimi kullanabilirsiniz Login .

  • 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'de bağımsız 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ıyla System.Web.Profile da tümleştirilebilir. Ayrıntılar için bkz. Rol Yönetimini Anlama ve profil özelliklerine genel bakış ASP.NET.

sınıfı, Membership bir veri kaynağıyla iletişim kurmak için üyelik sağlayıcılarını kullanır. .NET FrameworkSqlMembershipProvider, kullanıcı bilgilerini bir Microsoft SQL Server veritabanında ActiveDirectoryMembershipProviderdepolayan bir ve kullanıcı bilgilerini bir Active Directory veya Active Directory Uygulama Modu (ADAM) sunucusunda depolamanızı sağlayan bir 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, ASP.NET üyelik tüm ASP.NET uygulamalar için etkinleştirilir. Varsayılan üyelik sağlayıcısı değeridir SqlMembershipProvider ve makine yapılandırmasında adıyla AspNetSqlProviderbelirtilir. öğesinin SqlMembershipProvider varsayılan örneği yerel bir Microsoft SQL Server örneğine bağlanacak şekilde yapılandırılır.

Varsayılan ayarları, varsayılan sağlayıcı olarak örnek dışında AspNetSqlProvider bir SqlMembershipProvider sağlayıcı belirtmek üzere değiştirebilir veya Web.config dosyasını kullanarak ASP.NET uygulamanız için varsayılan sağlayıcı olarak özel bir sağlayıcının örneğini belirtebilirsiniz. Web.config dosyasındaki üyelik yapılandırması 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 üyelik bölümü varsayılan üyelik sağlayıcılarını geçerli uygulama yapılandırmasından kaldırır ve adlı AspSqlServerbir SQL Server örneğine bağlanan adlı SqlProvider 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

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 karakteri alır.

MinRequiredPasswordLength

Parola için gereken minimum 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

CreateUser(String, String)

Veri deposuna yeni bir kullanıcı ekler.

CreateUser(String, String, String)

Veri deposuna belirtilen e-posta adresine sahip yeni bir kullanıcı ekler.

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.

DeleteUser(String)

Veritabanından bir kullanıcıyı ve ilgili tüm kullanıcı verilerini siler.

DeleteUser(String, Boolean)

Veritabanından bir kullanıcıyı siler.

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.

FindUsersByEmail(String, Int32, Int32, Int32)

Bir veri sayfasında, e-posta adresinin eşleşecek belirtilen e-posta adresini içerdiği üyelik kullanıcıları koleksiyonunu alır.

FindUsersByName(String)

Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği üyelik kullanıcıları koleksiyonunu 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ı koleksiyonunu 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 koleksiyonunu alır.

GetNumberOfUsersOnline()

Bir uygulamaya şu anda 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)

Belirtilen benzersiz tanımlayıcıyla ilişkili üyelik kullanıcısının veri kaynağından bilgileri alır.

GetUser(Object, Boolean)

Belirtilen benzersiz tanımlayıcıyla ilişkili üyelik kullanıcısının veri kaynağından bilgileri alır. Belirtilen kullanıcı için son etkinlik tarih/saat damgasını güncelleştirir.

GetUser(String)

Belirtilen ü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. Belirtilen kullanıcı için son etkinlik tarih/saat damgasını güncelleştirir.

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

ValidatingPassword

Kullanıcı oluşturulduğunda, parola değiştirildiğinde veya parola sıfırlandığında gerçekleşir.

Şunlara uygulanır

Ayrıca bkz.