MembershipUser コンストラクタ (String, String, Object, String, String, String, Boolean, Boolean, DateTime, DateTime, DateTime, DateTime, DateTime)
アセンブリ: System.Web (system.web.dll 内)
構文
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 _ )
Dim providerName As String Dim name As String Dim providerUserKey As Object Dim email As String Dim passwordQuestion As String Dim comment As String Dim isApproved As Boolean Dim isLockedOut As Boolean Dim creationDate As DateTime Dim lastLoginDate As DateTime Dim lastActivityDate As DateTime Dim lastPasswordChangedDate As DateTime Dim lastLockoutDate As DateTime Dim instance As New MembershipUser(providerName, name, providerUserKey, email, passwordQuestion, comment, isApproved, isLockedOut, creationDate, lastLoginDate, lastActivityDate, lastPasswordChangedDate, 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 )
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 )
新しい MembershipUser オブジェクトを作成しても、メンバシップ データ ストアに新しいメンバシップ ユーザー オブジェクトが追加されるわけではありません。新しいメンバシップ ユーザーをメンバシップ データ ストアに追加するには、CreateUser メソッドを使用する必要があります。CreateUser メソッドはデータ ストアに追加されたメンバシップ ユーザーの MembershipUser オブジェクトを返します。
UpdateUser メソッドで使用するための MembershipUser オブジェクトはアプリケーション コード内で構築できます。また、CreateUser、GetUser、GetAllUsers、FindUsersByName、または FindUsersByEmail の各メソッドから返される MembershipUser オブジェクトを UpdateUser メソッドに渡すこともできます。
一般的には、MembershipUser オブジェクトは CreateUser、GetUser、GetAllUsers、FindUsersByName、および FindUsersByEmail の各メソッドのメンバシップ プロバイダ実装によって作成されます。
メンバシップ プロバイダに対して CreateUser メソッドを実装する方法を次のコード例に示します。このメソッドは、ユーザーがデータ ストアに正常に追加されたときに返される MembershipUser オブジェクトを構築します。
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 [" & TableName & "]" & _ " (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
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 [" + tableName + "]" + " (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 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
MembershipUser コンストラクタ
オーバーロードの一覧
名前 | 説明 |
---|---|
MembershipUser () | MembershipUser クラスを継承するクラスに対し、MembershipUser オブジェクトの新しいインスタンスを作成します。 |
MembershipUser (String, String, Object, String, String, String, Boolean, Boolean, DateTime, DateTime, DateTime, DateTime, DateTime) | 新しいメンバシップ ユーザー オブジェクトを指定のプロパティ値で作成します。 |
MembershipUser コンストラクタ ()
アセンブリ: System.Web (system.web.dll 内)
構文
解説
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- MembershipUser コンストラクタのページへのリンク