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.

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.

Şunlara uygulanır

Ayrıca bkz.