MembershipUser Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
- providerUserKey
- Object
Der ProviderUserKey-Bezeichner für den Mitgliedschaftsbenutzer.
- passwordQuestion
- String
Die PasswordQuestion-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 .NET Framework 4-Clientprofil abzielt. 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 die CreateUser -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 CreateUser- , GetUser, GetAllUsers- FindUsersByNameoder FindUsersByEmail -Methode zurückgegeben wird, auch an die UpdateUser -Methode.
MembershipUser -Objekte werden auch häufig von Mitgliedschaftsanbieterimplementierungen für die CreateUserMethoden , GetUser, GetAllUsers, FindUsersByNameund FindUsersByEmail erstellt.
Die name
Parameter , email
, und passwordQuestion
werden vor der Verwendung gekürzt.