Share via


MembershipUser Konstruktoren

Definition

Erstellt ein neues Mitgliedschaftsbenutzerobjekt mit den angegebenen Eigenschaftswerten.

Überlädt

MembershipUser()

Erstellt eine neue Instanz eines MembershipUser-Objekts für eine Klasse, die die MembershipUser-Klasse erbt.

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

Erstellt ein neues Mitgliedschaftsbenutzerobjekt mit den angegebenen Eigenschaftswerten.

MembershipUser()

Erstellt eine neue Instanz eines MembershipUser-Objekts für eine Klasse, die die MembershipUser-Klasse erbt.

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

Hinweise

Der MembershipUser Konstruktor ist nicht für die Verwendung aus Ihrem Code vorgesehen.

Weitere Informationen

Gilt für:

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

Erstellt ein neues Mitgliedschaftsbenutzerobjekt mit den angegebenen Eigenschaftswerten.

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)

Parameter

providerName
String

Die ProviderName-Zeichenfolge für den Mitgliedschaftsbenutzer.

name
String

Die UserName-Zeichenfolge für den Mitgliedschaftsbenutzer.

providerUserKey
Object

Der ProviderUserKey-Bezeichner für den Mitgliedschaftsbenutzer.

email
String

Die Email-Zeichenfolge für den Mitgliedschaftsbenutzer.

passwordQuestion
String

Die PasswordQuestion-Zeichenfolge für den Mitgliedschaftsbenutzer.

comment
String

Die Comment-Zeichenfolge für den Mitgliedschaftsbenutzer.

isApproved
Boolean

Der IsApproved-Wert für den Mitgliedschaftsbenutzer.

isLockedOut
Boolean

true, um den Mitgliedschaftsbenutzer auszusperren, andernfalls false.

creationDate
DateTime

Das CreationDateDateTime-Objekt für den Mitgliedschaftsbenutzer.

lastLoginDate
DateTime

Das LastLoginDateDateTime-Objekt für den Mitgliedschaftsbenutzer.

lastActivityDate
DateTime

Das LastActivityDateDateTime-Objekt für den Mitgliedschaftsbenutzer.

lastPasswordChangedDate
DateTime

Das LastPasswordChangedDateDateTime-Objekt für den Mitgliedschaftsbenutzer.

lastLockoutDate
DateTime

Das LastLockoutDateDateTime-Objekt für den Mitgliedschaftsbenutzer.

Ausnahmen

providerName ist null.

- oder -

providerName konnte in der Providers-Auflistung nicht gefunden werden.

Der Konstruktor ist nicht verfügbar. Dies kann auftreten, wenn die Anwendung auf das clientprofil .NET Framework 4 ausgerichtet ist. Um diese Ausnahme zu verhindern, leiten Sie Ihre Klasse vom Typ ab, und rufen Sie dann den geschützten Standardkonstruktor auf, oder ändern Sie das Ziel der Anwendung in die Vollversion von .NET Framework.

Beispiele

Das folgende Codebeispiel zeigt eine Implementierung der CreateUser -Methode für einen Mitgliedschaftsanbieter. Die -Methode erstellt ein MembershipUser -Objekt, das zurückgegeben wird, wenn der Benutzer erfolgreich dem Datenspeicher hinzugefügt wurde.

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

Hinweise

Beim Erstellen eines neuen MembershipUser Objekts wird dem Mitgliedschaftsdatenspeicher kein neues Mitgliedschaftsbenutzerobjekt hinzugefügt. Verwenden Sie CreateUser die -Methode, um dem Mitgliedschaftsdatenspeicher einen neuen Mitgliedschaftsbenutzer hinzuzufügen. Beachten Sie, dass die CreateUser -Methode ein MembershipUser -Objekt für den Mitgliedschaftsbenutzer zurückgibt, der dem Datenspeicher hinzugefügt wurde.

MembershipUser -Objekte können im Anwendungscode für die Verwendung mit der UpdateUser -Methode erstellt werden. Alternativ können Sie auch ein MembershipUser Objekt übergeben, das von der CreateUserMethode , GetUser, GetAllUsers, FindUsersByNameoder FindUsersByEmailUpdateUser zurückgegeben wird.

MembershipUser -Objekte werden auch häufig von Mitgliedschaftsanbieterimplementierungen für die CreateUserMethoden , GetUser, GetAllUsers, FindUsersByNameund FindUsersByEmail erstellt.

Die nameParameter , emailund passwordQuestion werden vor der Verwendung gekürzt.

Weitere Informationen

Gilt für: