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

Creates a new membership user object with the specified property values.

Namespace: System.Web.Security
Assembly: System.Web (in system.web.dll)

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
)
public MembershipUser (
	String providerName, 
	String name, 
	Object providerUserKey, 
	String email, 
	String passwordQuestion, 
	String comment, 
	boolean isApproved, 
	boolean isLockedOut, 
	DateTime creationDate, 
	DateTime lastLoginDate, 
	DateTime lastActivityDate, 
	DateTime lastPasswordChangedDate, 
	DateTime lastLockoutDate
)
public function MembershipUser (
	providerName : String, 
	name : String, 
	providerUserKey : Object, 
	email : String, 
	passwordQuestion : String, 
	comment : String, 
	isApproved : boolean, 
	isLockedOut : boolean, 
	creationDate : DateTime, 
	lastLoginDate : DateTime, 
	lastActivityDate : DateTime, 
	lastPasswordChangedDate : DateTime, 
	lastLockoutDate : DateTime
)
Not applicable.

Parameters

providerName

The ProviderName string for the membership user.

name

The Username string for the membership user.

providerUserKey

The ProviderUserKey identifier for the membership user.

email

The Email string for the membership user.

passwordQuestion

The PasswordQuestion string for the membership user.

comment

The Comment string for the membership user.

isApproved

The IsApproved value for the membership user.

isLockedOut

true to lock out the membership user; otherwise, false.

creationDate

The CreationDateDateTime object for the membership user.

lastLoginDate

The LastLoginDateDateTime object for the membership user.

lastActivityDate

The LastActivityDateDateTime object for the membership user.

lastPasswordChangedDate

The LastPasswordChangedDateDateTime object for the membership user.

lastLockoutDate

The LastLockoutDateDateTime object for the membership user.

Exception typeCondition

ArgumentException

providerName is a null reference (Nothing in Visual Basic).

-or-

providerName is not found in the Providers collection.

Creating a new MembershipUser object does not add a new membership user object to the membership data store. To add a new membership user to the membership data store, use the CreateUser method. Note that the CreateUser method returns a MembershipUser object for the membership user added to the data store.

MembershipUser objects can be constructed in application code for use with the UpdateUser method. Alternatively, you can also pass a MembershipUser object returned from the CreateUser, GetUser, GetAllUsers, FindUsersByName, or FindUsersByEmail method to the UpdateUser method as well.

MembershipUser objects are also commonly constructed by membership-provider implementations for the CreateUser, GetUser, GetAllUsers, FindUsersByName, and FindUsersByEmail methods.

The name, email, and passwordQuestion parameters are all trimmed before being used.

The following code example shows an implementation of the CreateUser method for a membership provider. The method constructs a MembershipUser object that is returned when the user is successfully added to the data store.

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;
}

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show: