Aracılığıyla paylaş


MembershipUser Oluşturucular

Tanım

Belirtilen özellik değerleriyle yeni bir üyelik kullanıcı nesnesi oluşturur.

Aşırı Yüklemeler

MembershipUser()

sınıfını devralan bir MembershipUser sınıf için nesnenin yeni bir örneğini MembershipUser oluşturur.

MembershipUser(String, String, Object, String, String, String, Boolean, Boolean, DateTime, DateTime, DateTime, DateTime, DateTime)

Belirtilen özellik değerleriyle yeni bir üyelik kullanıcı nesnesi oluşturur.

MembershipUser()

sınıfını devralan bir MembershipUser sınıf için nesnenin yeni bir örneğini MembershipUser oluşturur.

protected:
 MembershipUser();
protected MembershipUser ();
Protected Sub New ()

Açıklamalar

MembershipUser Oluşturucu, kodunuzdan kullanılmak üzere tasarlanmamıştır.

Ayrıca bkz.

Şunlara uygulanır

MembershipUser(String, String, Object, String, String, String, Boolean, Boolean, DateTime, DateTime, DateTime, DateTime, DateTime)

Belirtilen özellik değerleriyle yeni bir üyelik kullanıcı nesnesi oluşturur.

public:
 MembershipUser(System::String ^ providerName, System::String ^ name, System::Object ^ providerUserKey, System::String ^ email, System::String ^ passwordQuestion, System::String ^ comment, bool isApproved, bool isLockedOut, DateTime creationDate, DateTime lastLoginDate, DateTime lastActivityDate, DateTime lastPasswordChangedDate, DateTime lastLockoutDate);
public MembershipUser (string providerName, string name, object providerUserKey, string email, string passwordQuestion, string comment, bool isApproved, bool isLockedOut, DateTime creationDate, DateTime lastLoginDate, DateTime lastActivityDate, DateTime lastPasswordChangedDate, DateTime lastLockoutDate);
new System.Web.Security.MembershipUser : string * string * obj * string * string * string * bool * bool * DateTime * DateTime * DateTime * DateTime * DateTime -> System.Web.Security.MembershipUser
Public Sub New (providerName As String, name As String, providerUserKey As Object, email As String, passwordQuestion As String, comment As String, isApproved As Boolean, isLockedOut As Boolean, creationDate As DateTime, lastLoginDate As DateTime, lastActivityDate As DateTime, lastPasswordChangedDate As DateTime, lastLockoutDate As DateTime)

Parametreler

providerName
String

ProviderName Üyelik kullanıcısının dizesi.

name
String

UserName Üyelik kullanıcısının dizesi.

providerUserKey
Object

ProviderUserKey Üyelik kullanıcısının tanımlayıcısı.

email
String

Email Üyelik kullanıcısının dizesi.

passwordQuestion
String

PasswordQuestion Üyelik kullanıcısının dizesi.

comment
String

Comment Üyelik kullanıcısının dizesi.

isApproved
Boolean

IsApproved Üyelik kullanıcısının değeri.

isLockedOut
Boolean

true üyelik kullanıcısını kilitlemek için; aksi takdirde , false.

creationDate
DateTime

CreationDateDateTime Üyelik kullanıcısının nesnesi.

lastLoginDate
DateTime

LastLoginDateDateTime Üyelik kullanıcısının nesnesi.

lastActivityDate
DateTime

LastActivityDateDateTime Üyelik kullanıcısının nesnesi.

lastPasswordChangedDate
DateTime

LastPasswordChangedDateDateTime Üyelik kullanıcısının nesnesi.

lastLockoutDate
DateTime

LastLockoutDateDateTime Üyelik kullanıcısının nesnesi.

Özel durumlar

providerName, null değeridir.

-veya-

providerName koleksiyonda Providers bulunamadı.

Oluşturucu kullanılamıyor. Uygulama .NET Framework 4 İstemci Profilini hedefliyorsa bu durum oluşabilir. Bu özel durumu önlemek için sınıfınızı türünden türetip varsayılan korumalı oluşturucuyu çağırın veya uygulamayı .NET Framework'ün tam sürümünü hedefleyecek şekilde değiştirin.

Örnekler

Aşağıdaki kod örneği, üyelik sağlayıcısı için yönteminin CreateUser bir uygulamasını gösterir. yöntemi, kullanıcı veri deposuna başarıyla eklendiğinde döndürülen bir MembershipUser nesne oluşturur.

public override MembershipUser CreateUser(string username,
         string password,
         string email,
         string passwordQuestion,
         string passwordAnswer,
         bool isApproved,
         object providerUserKey,
         out MembershipCreateStatus status)
{
  ValidatePasswordEventArgs args =
    new ValidatePasswordEventArgs(username, password, true);

  OnValidatingPassword(args);

  if (args.Cancel)
  {
    status = MembershipCreateStatus.InvalidPassword;
    return null;
  }

  if (RequiresUniqueEmail && GetUserNameByEmail(email) != "")
  {
    status = MembershipCreateStatus.DuplicateEmail;
    return null;
  }

  MembershipUser u = GetUser(username, false);

  if (u == null)
  {
    DateTime createDate = DateTime.Now;

    if (providerUserKey == null)
    {
      providerUserKey = Guid.NewGuid();
    }
    else
    {
      if (!(providerUserKey is Guid))
      {
        status = MembershipCreateStatus.InvalidProviderUserKey;
        return null;
      }
    }

    OdbcConnection conn = new OdbcConnection(ConnectionString);
    OdbcCommand cmd = new OdbcCommand("INSERT INTO Users " +
          " (PKID, Username, Password, Email, PasswordQuestion, " +
          " PasswordAnswer, IsApproved," +
          " Comment, CreationDate, LastPasswordChangedDate, LastActivityDate," +
          " ApplicationName, IsLockedOut, LastLockedOutDate," +
          " FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, " +
          " FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart)" +
          " Values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", conn);

    cmd.Parameters.Add("@PKID", OdbcType.UniqueIdentifier).Value = providerUserKey;
    cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username;
    cmd.Parameters.Add("@Password", OdbcType.VarChar, 255).Value = EncodePassword(password);
    cmd.Parameters.Add("@Email", OdbcType.VarChar, 128).Value = email;
    cmd.Parameters.Add("@PasswordQuestion", OdbcType.VarChar, 255).Value = passwordQuestion;
    cmd.Parameters.Add("@PasswordAnswer", OdbcType.VarChar, 255).Value = EncodePassword(passwordAnswer);
    cmd.Parameters.Add("@IsApproved", OdbcType.Bit).Value = isApproved;
    cmd.Parameters.Add("@Comment", OdbcType.VarChar, 255).Value = "";
    cmd.Parameters.Add("@CreationDate", OdbcType.DateTime).Value = createDate;
    cmd.Parameters.Add("@LastPasswordChangedDate", OdbcType.DateTime).Value = createDate;
    cmd.Parameters.Add("@LastActivityDate", OdbcType.DateTime).Value = createDate;
    cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = pApplicationName;
    cmd.Parameters.Add("@IsLockedOut", OdbcType.Bit).Value = false;
    cmd.Parameters.Add("@LastLockedOutDate", OdbcType.DateTime).Value = createDate;
    cmd.Parameters.Add("@FailedPasswordAttemptCount", OdbcType.Int).Value = 0;
    cmd.Parameters.Add("@FailedPasswordAttemptWindowStart", OdbcType.DateTime).Value = createDate;
    cmd.Parameters.Add("@FailedPasswordAnswerAttemptCount", OdbcType.Int).Value = 0;
    cmd.Parameters.Add("@FailedPasswordAnswerAttemptWindowStart", OdbcType.DateTime).Value = createDate;

    try
    {
      conn.Open();

      int recAdded = cmd.ExecuteNonQuery();

      if (recAdded > 0)
      {
        status = MembershipCreateStatus.Success;
      }
      else
      {
        status = MembershipCreateStatus.UserRejected;
      }
    }
    catch (OdbcException)
    {
      // Handle exception.

      status = MembershipCreateStatus.ProviderError;
    }
    finally
    {
      conn.Close();
    }

    return GetUser(username, false);
  }
  else
  {
    status = MembershipCreateStatus.DuplicateUserName;
  }

  return null;
}
Public Overrides Function CreateUser(ByVal username As String, _
ByVal password As String, _
ByVal email As String, _
ByVal passwordQuestion As String, _
ByVal passwordAnswer As String, _
ByVal isApproved As Boolean, _
ByVal providerUserKey As Object, _
         ByRef status As MembershipCreateStatus) As MembershipUser

    Dim Args As ValidatePasswordEventArgs = _
      New ValidatePasswordEventArgs(username, password, True)

    OnValidatingPassword(args)

    If args.Cancel Then
        status = MembershipCreateStatus.InvalidPassword
        Return Nothing
    End If


    If RequiresUniqueEmail AndAlso GetUserNameByEmail(email) <> "" Then
        status = MembershipCreateStatus.DuplicateEmail
        Return Nothing
    End If

    Dim u As MembershipUser = GetUser(username, False)

    If u Is Nothing Then
        Dim createDate As DateTime = DateTime.Now

        If providerUserKey Is Nothing Then
            providerUserKey = Guid.NewGuid()
        Else
            If Not TypeOf providerUserKey Is Guid Then
                status = MembershipCreateStatus.InvalidProviderUserKey
                Return Nothing
            End If
        End If

        Dim conn As OdbcConnection = New OdbcConnection(ConnectionString)
        Dim cmd As OdbcCommand = New OdbcCommand("INSERT INTO Users " & _
              " (PKID, Username, Password, Email, PasswordQuestion, " & _
              " PasswordAnswer, IsApproved," & _
              " Comment, CreationDate, LastPasswordChangedDate, LastActivityDate," & _
              " ApplicationName, IsLockedOut, LastLockedOutDate," & _
              " FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, " & _
              " FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart)" & _
              " Values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", conn)

        cmd.Parameters.Add("@PKID", OdbcType.UniqueIdentifier).Value = providerUserKey
        cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username
        cmd.Parameters.Add("@Password", OdbcType.VarChar, 255).Value = EncodePassword(password)
        cmd.Parameters.Add("@Email", OdbcType.VarChar, 128).Value = email
        cmd.Parameters.Add("@PasswordQuestion", OdbcType.VarChar, 255).Value = passwordQuestion
        cmd.Parameters.Add("@PasswordAnswer", OdbcType.VarChar, 255).Value = EncodePassword(passwordAnswer)
        cmd.Parameters.Add("@IsApproved", OdbcType.Bit).Value = isApproved
        cmd.Parameters.Add("@Comment", OdbcType.VarChar, 255).Value = ""
        cmd.Parameters.Add("@CreationDate", OdbcType.DateTime).Value = createDate
        cmd.Parameters.Add("@LastPasswordChangedDate", OdbcType.DateTime).Value = createDate
        cmd.Parameters.Add("@LastActivityDate", OdbcType.DateTime).Value = createDate
        cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = pApplicationName
        cmd.Parameters.Add("@IsLockedOut", OdbcType.Bit).Value = False
        cmd.Parameters.Add("@LastLockedOutDate", OdbcType.DateTime).Value = createDate
        cmd.Parameters.Add("@FailedPasswordAttemptCount", OdbcType.Int).Value = 0
        cmd.Parameters.Add("@FailedPasswordAttemptWindowStart", OdbcType.DateTime).Value = createDate
        cmd.Parameters.Add("@FailedPasswordAnswerAttemptCount", OdbcType.Int).Value = 0
        cmd.Parameters.Add("@FailedPasswordAnswerAttemptWindowStart", OdbcType.DateTime).Value = createDate

        Try
            conn.Open()

            Dim recAdded As Integer = cmd.ExecuteNonQuery()

            If recAdded > 0 Then
                status = MembershipCreateStatus.Success
            Else
                status = MembershipCreateStatus.UserRejected
            End If
        Catch e As OdbcException
            ' Handle exception.

            status = MembershipCreateStatus.ProviderError
        Finally
            conn.Close()
        End Try


        Return GetUser(username, False)
    Else
        status = MembershipCreateStatus.DuplicateUserName
    End If

    Return Nothing
End Function

Açıklamalar

Yeni MembershipUser bir nesne oluşturmak, üyelik veri deposuna yeni bir üyelik kullanıcı nesnesi eklemez. Üyelik veri deposuna yeni bir üyelik kullanıcısı eklemek için yöntemini kullanın CreateUser . yönteminin CreateUser , kullanıcının veri deposuna eklediği üyelik için bir MembershipUser nesne döndürdüğünü unutmayın.

MembershipUser nesneleri, yöntemiyle kullanılmak üzere uygulama kodunda UpdateUser oluşturulabilir. Alternatif olarak, , , GetUser, GetAllUsersFindUsersByNameveya FindUsersByEmail yönteminden CreateUserdöndürülen bir MembershipUser nesneyi de yöntemine UpdateUser geçirebilirsiniz.

MembershipUsernesneleri de genellikle , , GetUser, GetAllUsersFindUsersByNameve FindUsersByEmail yöntemleri için CreateUserüyelik sağlayıcısı uygulamaları tarafından oluşturulur.

name, emailve passwordQuestion parametrelerinin tümü kullanılmadan önce kırpılır.

Ayrıca bkz.

Şunlara uygulanır