creates a new user for an ASP.NET application

来源:互联网 发布:淘宝兑换爱奇艺会员 编辑:程序博客网 时间:2024/05/22 08:28

The following code example creates a new user for an ASP.NET application configured to use forms authentication and the SqlMembershipProvider. If the user is not created successfully, a message is displayed to the user. Otherwise, the user is redirected to the sign-in page for the application.

 


 

<%@ Page Language="C#" %><%@ Import Namespace="System.Web.Security" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><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 id="form1" 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>