Membership.CreateUser メソッド (String, String, String, String, String, Boolean, MembershipCreateStatus)
アセンブリ: System.Web (system.web.dll 内)

Public Shared Function CreateUser ( _ username As String, _ password As String, _ email As String, _ passwordQuestion As String, _ passwordAnswer As String, _ isApproved As Boolean, _ <OutAttribute> ByRef status As MembershipCreateStatus _ ) As MembershipUser
Dim username As String Dim password As String Dim email As String Dim passwordQuestion As String Dim passwordAnswer As String Dim isApproved As Boolean Dim status As MembershipCreateStatus Dim returnValue As MembershipUser returnValue = Membership.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, status)
public static MembershipUser CreateUser ( string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, out MembershipCreateStatus status )
public: static MembershipUser^ CreateUser ( String^ username, String^ password, String^ email, String^ passwordQuestion, String^ passwordAnswer, bool isApproved, [OutAttribute] MembershipCreateStatus% status )
public static MembershipUser CreateUser ( String username, String password, String email, String passwordQuestion, String passwordAnswer, boolean isApproved, /** @attribute OutAttribute() */ /** @ref */ MembershipCreateStatus status )
戻り値
新しく作成されたユーザーの MembershipUser オブジェクト。ユーザーが作成されなかった場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。

CreateUser は、新しいユーザーをデータ ストアに追加し、新しく作成したユーザーの MembershipUser オブジェクトを返します。ユーザーの作成に失敗した場合、失敗理由を示す status 出力パラメータから MembershipCreateStatus 値を取得できます。
CreateUser メソッドは、password が空の文字列または null 参照 (Visual Basic では Nothing) の場合、username が空の文字列か null 参照 (Visual Basic では Nothing)、またはコンマ (,) を含む場合、passwordQuestion が null 参照 (Visual Basic では Nothing) でなく空の文字列である場合、または passwordAnswer が null 参照 (Visual Basic では Nothing) でなく空の文字列である場合に、null 参照 (Visual Basic では Nothing) を返します。
メンバシップ ユーザーがいったん作成され、そのユーザーの MembershipUser オブジェクトを参照できる状態になれば、MembershipUser パブリック メソッドを使用して、そのユーザーの設定を変更できます。また、MembershipUser オブジェクトのプロパティ値を設定して、MembershipUser オブジェクトを UpdateUser メソッドに渡すことにより、ユーザー設定を変更することもできます。
アプリケーションのデータ ソースにユーザーが既に存在している場合、GetUser メソッドを使用して、既存ユーザーの MembershipUser オブジェクトを取得できます。

フォーム認証と ASP.NET メンバシップを使用するように構成された ASP.NET アプリケーションの新しいユーザーを作成するコード例を次に示します。ユーザーの作成に失敗した場合、そのユーザーに対してメッセージが表示されます。それ以外の場合、ユーザーはアプリケーションのログイン ページにリダイレクトされます。
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub CreateUser_OnClick(sender As Object, args As EventArgs) ' Create new user and retrieve create status result. Dim status As MembershipCreateStatus Dim passwordQuestion As String = "" Dim passwordAnswer As String = "" If Membership.RequiresQuestionAndAnswer Then passwordQuestion = PasswordQuestionTextbox.Text passwordAnswer = PasswordAnswerTextbox.Text End If Try Dim newUser As MembershipUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text, _ EmailTextbox.Text, passwordQuestion , _ passwordAnswer, True, status) If newUser Is Nothing Then Msg.Text = GetErrorMessage(status) Else Response.Redirect("login.aspx") End If Catch Msg.Text = "An exception occurred creating the user." End Try End Sub Public Function GetErrorMessage(status As MembershipCreateStatus) As String Select Case status Case MembershipCreateStatus.DuplicateUserName: Return "Username already exists. Please enter a different user name." Case MembershipCreateStatus.DuplicateEmail: Return "A username for that e-mail address already exists. Please enter a different e-mail address." Case MembershipCreateStatus.InvalidPassword: Return "The password provided is invalid. Please enter a valid password value." Case MembershipCreateStatus.InvalidEmail: Return "The e-mail address provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidAnswer: Return "The password retrieval answer provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidQuestion: Return "The password retrieval question provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidUserName Return "The user name provided is invalid. Please check the value and try again." Case MembershipCreateStatus.ProviderError: Return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator." Case MembershipCreateStatus.UserRejected: Return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator." Case Else: Return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator." End Select End Function </script> <html> <head> <title>Create User</title> </head> <body> <form runat="server"> <h3>Create New User</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /> <table CellPadding="3" border="0"> <tr> <td>Username:</td> <td><asp:Textbox id="UsernameTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server" ControlToValidate="UserNameTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Confirm Password:</td> <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /> <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ControlToCompare="PasswordTextBox" ErrorMessage="Confirm password must match password." /> </td> </tr> <tr> <td>Email Address:</td> <td><asp:Textbox id="EmailTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server" ControlToValidate="EmailTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% If Membership.RequiresQuestionAndAnswer Then %> <tr> <td>Password Question:</td> <td><asp:Textbox id="PasswordQuestionTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordQuestionRequiredValidator" runat="server" ControlToValidate="PasswordQuestionTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password Answer:</td> <td><asp:Textbox id="PasswordAnswerTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordAnswerRequiredValidator" runat="server" ControlToValidate="PasswordAnswerTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% End If %> <tr> <td></td> <td><asp:Button id="CreateUserButton" Text="Create User" OnClick="CreateUser_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> public void CreateUser_OnClick(object sender, EventArgs args) { // Create new user and retrieve create status result. MembershipCreateStatus status; string passwordQuestion = ""; string passwordAnswer = ""; if (Membership.RequiresQuestionAndAnswer) { passwordQuestion = PasswordQuestionTextbox.Text; passwordAnswer = PasswordAnswerTextbox.Text; } try { MembershipUser newUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text, EmailTextbox.Text, passwordQuestion , passwordAnswer, true, out status); if (newUser == null) { Msg.Text = GetErrorMessage(status); } else { Response.Redirect("login.aspx"); } } catch { Msg.Text = "An exception occurred creating the user."; } } public string GetErrorMessage(MembershipCreateStatus status) { switch (status) { case MembershipCreateStatus.DuplicateUserName: return "Username already exists. Please enter a different user name."; case MembershipCreateStatus.DuplicateEmail: return "A username for that e-mail address already exists. Please enter a different e-mail address."; case MembershipCreateStatus.InvalidPassword: return "The password provided is invalid. Please enter a valid password value."; case MembershipCreateStatus.InvalidEmail: return "The e-mail address provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidAnswer: return "The password retrieval answer provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidQuestion: return "The password retrieval question provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidUserName: return "The user name provided is invalid. Please check the value and try again."; case MembershipCreateStatus.ProviderError: return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; case MembershipCreateStatus.UserRejected: return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; default: return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; } } </script> <html> <head> <title>Create User</title> </head> <body> <form runat="server"> <h3>Create New User</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><BR> <table CellPadding="3" border="0"> <tr> <td>Username:</td> <td><asp:Textbox id="UsernameTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server" ControlToValidate="UserNameTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Confirm Password:</td> <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /> <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ControlToCompare="PasswordTextBox" ErrorMessage="Confirm password must match password." /> </td> </tr> <tr> <td>Email Address:</td> <td><asp:Textbox id="EmailTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server" ControlToValidate="EmailTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% if (Membership.RequiresQuestionAndAnswer) { %> <tr> <td>Password Question:</td> <td><asp:Textbox id="PasswordQuestionTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordQuestionRequiredValidator" runat="server" ControlToValidate="PasswordQuestionTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password Answer:</td> <td><asp:Textbox id="PasswordAnswerTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordAnswerRequiredValidator" runat="server" ControlToValidate="PasswordAnswerTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% } %> <tr> <td></td> <td><asp:Button id="CreateUserButton" Text="Create User" OnClick="CreateUser_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Membership.CreateUser メソッド (String, String)
アセンブリ: System.Web (system.web.dll 内)

Public Shared Function CreateUser ( _ username As String, _ password As String _ ) As MembershipUser
Dim username As String Dim password As String Dim returnValue As MembershipUser returnValue = Membership.CreateUser(username, password)
戻り値
新しく作成されたユーザーの MembershipUser オブジェクト。


CreateUser は、新しいユーザーをデータ ストアに追加し、新しく作成したユーザーの MembershipUser オブジェクトを返します。ユーザーの作成に失敗すると、MembershipCreateUserException がスローされます。ユーザーの作成に失敗した理由を示す MembershipCreateUserException の StatusCode プロパティから MembershipCreateStatus 値を取得できます。
メンバシップ ユーザーがいったん作成され、そのユーザーの MembershipUser オブジェクトを参照できる状態になれば、RequiresQuestionAndAnswer が true のアプリケーションに対する ChangePasswordQuestionAndAnswer などの MembershipUser パブリック メソッドを使用して、そのユーザーの設定を変更できます。また、MembershipUser オブジェクトのプロパティ値を設定して、これを UpdateUser メソッドに渡すことにより、ユーザー設定を変更することもできます。
アプリケーションのデータ ソースにユーザーが既に存在している場合、GetUser メソッドを使用して、既存ユーザーの MembershipUser オブジェクトを取得できます。
SqlMembershipProvider では、オプションで、各ユーザーに対して一意の電子メール アドレスを要求できます。RequiresUniqueEmail プロパティが true の場合、作成中のユーザーに対して電子メール アドレスを指定できる CreateUser オーバーロードの 1 つを使用する必要があります。それ以外の場合は、MembershipCreateUserException がスローされます。

フォーム認証と ASP.NET メンバシップを使用するように構成された ASP.NET アプリケーションの新しいユーザーを作成するコード例を次に示します。ユーザーの作成に失敗した場合、そのユーザーに対してメッセージが表示されます。それ以外の場合、ユーザーはアプリケーションのログイン ページにリダイレクトされます。
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub CreateUser_OnClick(sender As Object, args As EventArgs) Try ' Create new user. Dim newUser As MembershipUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text) ' If user created successfully, set password question and answer (if applicable) and ' redirect to login page. Otherwise Return an error message. If Membership.RequiresQuestionAndAnswer Then newUser.ChangePasswordQuestionAndAnswer(PasswordTextbox.Text, _ PasswordQuestionTextbox.Text, _ PasswordAnswerTextbox.Text) End If Response.Redirect("login.aspx") Catch e As MembershipCreateUserException Msg.Text = GetErrorMessage(e.StatusCode) Catch e As HttpException Msg.Text = e.Message End Try End Sub Public Function GetErrorMessage(status As MembershipCreateStatus) As String Select Case status Case MembershipCreateStatus.DuplicateUserName Return "Username already exists. Please enter a different user name." Case MembershipCreateStatus.DuplicateEmail Return "A username for that e-mail address already exists. Please enter a different e-mail address." Case MembershipCreateStatus.InvalidPassword Return "The password provided is invalid. Please enter a valid password value." Case MembershipCreateStatus.InvalidEmail Return "The e-mail address provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidAnswer Return "The password retrieval answer provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidQuestion Return "The password retrieval question provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidUserName Return "The user name provided is invalid. Please check the value and try again." Case MembershipCreateStatus.ProviderError Return "The authentication provider Returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator." Case MembershipCreateStatus.UserRejected Return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator." Case Else Return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator." End Select End Function </script> <html> <head> <title>Create User</title> </head> <body> <form runat="server"> <h3>Create New User</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><BR> <table CellPadding="3" border="0"> <tr> <td>Username:</td> <td><asp:Textbox id="UsernameTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server" ControlToValidate="UserNameTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Confirm Password:</td> <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /> <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ControlToCompare="PasswordTextBox" ErrorMessage="Confirm password must match password." /> </td> </tr> <% If Membership.RequiresQuestionAndAnswer Then %> <tr> <td>Password Question:</td> <td><asp:Textbox id="PasswordQuestionTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordQuestionRequiredValidator" runat="server" ControlToValidate="PasswordQuestionTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password Answer:</td> <td><asp:Textbox id="PasswordAnswerTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordAnswerRequiredValidator" runat="server" ControlToValidate="PasswordAnswerTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% End If %> <tr> <td></td> <td><asp:Button id="CreateUserButton" Text="Create User" OnClick="CreateUser_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> public void CreateUser_OnClick(object sender, EventArgs args) { try { // Create new user. MembershipUser newUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text); // If user created successfully, set password question and answer (if applicable) and // redirect to login page. Otherwise return an error message. if (Membership.RequiresQuestionAndAnswer) { newUser.ChangePasswordQuestionAndAnswer(PasswordTextbox.Text, PasswordQuestionTextbox.Text, PasswordAnswerTextbox.Text); } Response.Redirect("login.aspx"); } catch (MembershipCreateUserException e) { Msg.Text = GetErrorMessage(e.StatusCode); } catch (HttpException e) { Msg.Text = e.Message; } } public string GetErrorMessage(MembershipCreateStatus status) { switch (status) { case MembershipCreateStatus.DuplicateUserName: return "Username already exists. Please enter a different user name."; case MembershipCreateStatus.DuplicateEmail: return "A username for that e-mail address already exists. Please enter a different e-mail address."; case MembershipCreateStatus.InvalidPassword: return "The password provided is invalid. Please enter a valid password value."; case MembershipCreateStatus.InvalidEmail: return "The e-mail address provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidAnswer: return "The password retrieval answer provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidQuestion: return "The password retrieval question provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidUserName: return "The user name provided is invalid. Please check the value and try again."; case MembershipCreateStatus.ProviderError: return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; case MembershipCreateStatus.UserRejected: return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; default: return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; } } </script> <html> <head> <title>Create User</title> </head> <body> <form runat="server"> <h3>Create New User</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><BR> <table CellPadding="3" border="0"> <tr> <td>Username:</td> <td><asp:Textbox id="UsernameTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server" ControlToValidate="UserNameTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Confirm Password:</td> <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /> <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ControlToCompare="PasswordTextBox" ErrorMessage="Confirm password must match password." /> </td> </tr> <% if (Membership.RequiresQuestionAndAnswer) { %> <tr> <td>Password Question:</td> <td><asp:Textbox id="PasswordQuestionTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordQuestionRequiredValidator" runat="server" ControlToValidate="PasswordQuestionTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password Answer:</td> <td><asp:Textbox id="PasswordAnswerTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordAnswerRequiredValidator" runat="server" ControlToValidate="PasswordAnswerTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% } %> <tr> <td></td> <td><asp:Button id="CreateUserButton" Text="Create User" OnClick="CreateUser_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Membership.CreateUser メソッド (String, String, String, String, String, Boolean, Object, MembershipCreateStatus)
アセンブリ: System.Web (system.web.dll 内)

Public Shared Function CreateUser ( _ username As String, _ password As String, _ email As String, _ passwordQuestion As String, _ passwordAnswer As String, _ isApproved As Boolean, _ providerUserKey As Object, _ <OutAttribute> ByRef status As MembershipCreateStatus _ ) As MembershipUser
Dim username As String Dim password As String Dim email As String Dim passwordQuestion As String Dim passwordAnswer As String Dim isApproved As Boolean Dim providerUserKey As Object Dim status As MembershipCreateStatus Dim returnValue As MembershipUser returnValue = Membership.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, status)
public static MembershipUser CreateUser ( string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, Object providerUserKey, out MembershipCreateStatus status )
public: static MembershipUser^ CreateUser ( String^ username, String^ password, String^ email, String^ passwordQuestion, String^ passwordAnswer, bool isApproved, Object^ providerUserKey, [OutAttribute] MembershipCreateStatus% status )
public static MembershipUser CreateUser ( String username, String password, String email, String passwordQuestion, String passwordAnswer, boolean isApproved, Object providerUserKey, /** @attribute OutAttribute() */ /** @ref */ MembershipCreateStatus status )
戻り値
新しく作成されたユーザーの MembershipUser オブジェクト。ユーザーが作成されなかった場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。

CreateUser は、新しいユーザーをデータ ストアに追加し、新しく作成したユーザーの MembershipUser オブジェクトを返します。ユーザーの作成に失敗した場合、失敗理由を示す status 出力パラメータから MembershipCreateStatus 値を取得できます。providerUserKey パラメータを使用して、データベースの主キー値など、ユーザーの一意の ID を指定できます。
CreateUser メソッドは、password が空の文字列または null 参照 (Visual Basic では Nothing) の場合、username が空の文字列か null 参照 (Visual Basic では Nothing)、またはコンマ (,) を含む場合、passwordQuestion が null 参照 (Visual Basic では Nothing) でなく空の文字列である場合、または passwordAnswer が null 参照 (Visual Basic では Nothing) でなく空の文字列である場合に、null 参照 (Visual Basic では Nothing) を返します。
メンバシップ ユーザーがいったん作成され、そのユーザーの MembershipUser オブジェクトを参照できる状態になれば、MembershipUser パブリック メソッドを使用して、そのユーザーの設定を変更できます。また、MembershipUser オブジェクトのプロパティ値を設定して、MembershipUser オブジェクトを UpdateUser メソッドに渡すことにより、ユーザー設定を変更することもできます。
アプリケーションのデータ ソースにユーザーが既に存在している場合、GetUser メソッドを使用して、既存ユーザーの MembershipUser オブジェクトを取得できます。

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Membership.CreateUser メソッド

名前 | 説明 |
---|---|
Membership.CreateUser (String, String) | 新しいユーザーをデータ ストアに追加します。 |
Membership.CreateUser (String, String, String) | 電子メール アドレスを指定して新しいユーザーをデータ ストアに追加します。 |
Membership.CreateUser (String, String, String, String, String, Boolean, MembershipCreateStatus) | プロパティ値を指定して新しいユーザーをデータ ストアに追加し、ユーザーの作成に成功したかどうか、または失敗の理由を示すステータス パラメータを返します。 |
Membership.CreateUser (String, String, String, String, String, Boolean, Object, MembershipCreateStatus) | 指定したプロパティ値と一意の ID で新しいユーザーをデータ ストアに追加し、ユーザーの作成に成功したかどうか、または失敗の理由を示すステータス パラメータを返します。 |

Membership.CreateUser メソッド (String, String, String)
アセンブリ: System.Web (system.web.dll 内)

Public Shared Function CreateUser ( _ username As String, _ password As String, _ email As String _ ) As MembershipUser
Dim username As String Dim password As String Dim email As String Dim returnValue As MembershipUser returnValue = Membership.CreateUser(username, password, email)
public static function CreateUser ( username : String, password : String, email : String ) : MembershipUser
戻り値
新しく作成されたユーザーの MembershipUser オブジェクト。


CreateUser は、新しいユーザーをデータ ストアに追加し、新しく作成したユーザーの MembershipUser オブジェクトを返します。ユーザーの作成に失敗すると、MembershipCreateUserException がスローされます。ユーザーの作成に失敗した理由を示す MembershipCreateUserException の StatusCode プロパティから MembershipCreateStatus 値を取得できます。
メンバシップ ユーザーがいったん作成され、そのユーザーの MembershipUser オブジェクトを参照できる状態になれば、RequiresQuestionAndAnswer が true のアプリケーションに対する ChangePasswordQuestionAndAnswer などの MembershipUser パブリック メソッドを使用して、そのユーザーの設定を変更できます。また、MembershipUser オブジェクトのプロパティ値を設定して、これを UpdateUser メソッドに渡すことにより、ユーザー設定を変更することもできます。
アプリケーションのデータ ソースにユーザーが既に存在している場合、GetUser メソッドを使用して、既存ユーザーの MembershipUser オブジェクトを取得できます。

フォーム認証と ASP.NET メンバシップを使用するように構成された ASP.NET アプリケーションの新しいユーザーを作成するコード例を次に示します。ユーザーの作成に失敗した場合、そのユーザーに対してメッセージが表示されます。それ以外の場合、ユーザーはアプリケーションのログイン ページにリダイレクトされます。
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub CreateUser_OnClick(sender As Object, args As EventArgs) Dim result As MembershipCreateStatus Try ' Create new user. Dim newUser As MembershipUser If Membership.RequiresQuestionAndAnswer Then newUser = Membership.CreateUser( _ UsernameTextbox.Text, _ PasswordTextbox.Text, _ EmailTextbox.Text, _ PasswordQuestionTextbox.Text, _ PasswordAnswerTextbox.Text, _ false, _ result) Else newUser = Membership.CreateUser( _ UsernameTextbox.Text, _ PasswordTextbox.Text, _ EmailTextbox.Text) End If Response.Redirect("login.aspx") Catch e As MembershipCreateUserException Msg.Text = GetErrorMessage(e.StatusCode) Catch e As HttpException Msg.Text = e.Message End Try End Sub Public Function GetErrorMessage(status As MembershipCreateStatus) As String Select Case status Case MembershipCreateStatus.DuplicateUserName Return "Username already exists. Please enter a different user name." Case MembershipCreateStatus.DuplicateEmail Return "A username for that e-mail address already exists. Please enter a different e-mail address." Case MembershipCreateStatus.InvalidPassword Return "The password provided is invalid. Please enter a valid password value." Case MembershipCreateStatus.InvalidEmail Return "The e-mail address provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidAnswer Return "The password retrieval answer provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidQuestion Return "The password retrieval question provided is invalid. Please check the value and try again." Case MembershipCreateStatus.InvalidUserName Return "The user name provided is invalid. Please check the value and try again." Case MembershipCreateStatus.ProviderError Return "The authentication provider Returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator." Case MembershipCreateStatus.UserRejected Return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator." Case Else Return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator." End Select End Function </script> <html> <head> <title>Create User</title> </head> <body> <form runat="server"> <h3>Create New User</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><BR> <table CellPadding="3" border="0"> <tr> <td>Username:</td> <td><asp:Textbox id="UsernameTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server" ControlToValidate="UserNameTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Confirm Password:</td> <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /> <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ControlToCompare="PasswordTextBox" ErrorMessage="Confirm password must match password." /> </td> </tr> <tr> <td>Email Address:</td> <td><asp:Textbox id="EmailTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server" ControlToValidate="EmailTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% If Membership.RequiresQuestionAndAnswer Then %> <tr> <td>Password Question:</td> <td><asp:Textbox id="PasswordQuestionTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordQuestionRequiredValidator" runat="server" ControlToValidate="PasswordQuestionTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password Answer:</td> <td><asp:Textbox id="PasswordAnswerTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordAnswerRequiredValidator" runat="server" ControlToValidate="PasswordAnswerTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% End If %> <tr> <td></td> <td><asp:Button id="CreateUserButton" Text="Create User" OnClick="CreateUser_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> public void CreateUser_OnClick(object sender, EventArgs args) { MembershipCreateStatus result; try { // Create new user. if (Membership.RequiresQuestionAndAnswer) { MembershipUser newUser = Membership.CreateUser( UsernameTextbox.Text, PasswordTextbox.Text, EmailTextbox.Text, PasswordQuestionTextbox.Text, PasswordAnswerTextbox.Text, false, out result); } else { MembershipUser newUser = Membership.CreateUser( UsernameTextbox.Text, PasswordTextbox.Text, EmailTextbox.Text); } Response.Redirect("login.aspx"); } catch (MembershipCreateUserException e) { Msg.Text = GetErrorMessage(e.StatusCode); } catch (HttpException e) { Msg.Text = e.Message; } } public string GetErrorMessage(MembershipCreateStatus status) { switch (status) { case MembershipCreateStatus.DuplicateUserName: return "Username already exists. Please enter a different user name."; case MembershipCreateStatus.DuplicateEmail: return "A username for that e-mail address already exists. Please enter a different e-mail address."; case MembershipCreateStatus.InvalidPassword: return "The password provided is invalid. Please enter a valid password value."; case MembershipCreateStatus.InvalidEmail: return "The e-mail address provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidAnswer: return "The password retrieval answer provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidQuestion: return "The password retrieval question provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidUserName: return "The user name provided is invalid. Please check the value and try again."; case MembershipCreateStatus.ProviderError: return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; case MembershipCreateStatus.UserRejected: return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; default: return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; } } </script> <html> <head> <title>Create User</title> </head> <body> <form runat="server"> <h3>Create New User</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><BR> <table CellPadding="3" border="0"> <tr> <td>Username:</td> <td><asp:Textbox id="UsernameTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server" ControlToValidate="UserNameTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Confirm Password:</td> <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /> <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ControlToCompare="PasswordTextBox" ErrorMessage="Confirm password must match password." /> </td> </tr> <tr> <td>Email Address:</td> <td><asp:Textbox id="EmailTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server" ControlToValidate="EmailTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% if (Membership.RequiresQuestionAndAnswer) { %> <tr> <td>Password Question:</td> <td><asp:Textbox id="PasswordQuestionTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordQuestionRequiredValidator" runat="server" ControlToValidate="PasswordQuestionTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password Answer:</td> <td><asp:Textbox id="PasswordAnswerTextbox" runat="server" /></td> <td><asp:RequiredFieldValidator id="PasswordAnswerRequiredValidator" runat="server" ControlToValidate="PasswordAnswerTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <% } %> <tr> <td></td> <td><asp:Button id="CreateUserButton" Text="Create User" OnClick="CreateUser_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からMembership.CreateUserを検索する場合は、下記のリンクをクリックしてください。

- Membership.CreateUserのページへのリンク