创建帐户后不要让用户登录

时间:2012-01-15 18:45:09

标签: asp.net account

我有一个简单的创建用户向导控件,它现在工作得非常好。 问题是我想在创建帐户后立即禁用创建用户登录,我只需将DisableCreatedUser属性设置为true即可完成

但不幸的是,当我尝试在创建帐户后立即刷新页面并检查它时显示用户已登录。

如果用户直接点击登录并检查它是否给我一个错误,他需要激活他的帐户。

那么当他尝试刷新页面时如何禁用用户?

任何帮助将不胜感激!

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
          <ContentTemplate>
           <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" 
                  DisableCreatedUser="True" 
                  LoginCreatedUser="False">
            <ContinueButtonStyle BorderStyle="None" CssClass="btn big" Font-Size="12px"/>
            <CreateUserButtonStyle CssClass="btn big" Height="30px" 
                        Width="125px" BorderStyle="None" Font-Size="12px" />

            <WizardSteps>
                 <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
                  <ContentTemplate>
                  <table>
                  <tr>
                  <td align="right">
                  <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName" style="z-index:2; position:relative !important;">User Name:</asp:Label>
                   </td>
                   <td>
                   <asp:TextBox ID="UserName" runat="server" BorderStyle="Solid" BorderWidth="1px" BorderColor="#0099CC" BackColor="#FAFFBD"></asp:TextBox>
                   <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 
                                              ControlToValidate="UserName" ErrorMessage="User Name is required." 
                                              ToolTip="User Name is required." ValidationGroup="CreateUserWizard1" 
                                              CssClass="signupvalidators" ForeColor="Red">*</asp:RequiredFieldValidator>
                     </td>
                     </tr>
                                  <tr>
                                      <td align="right">
                                          <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password" style="z-index:2; position:relative !important;">Password:</asp:Label>
                                      </td>
                                      <td>
                                          <asp:TextBox ID="Password" runat="server" TextMode="Password" BorderStyle="Solid" BorderWidth="1px" BorderColor="#0099CC" BackColor="#FAFFBD"></asp:TextBox>
                                          <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" 
                                              ControlToValidate="Password" ErrorMessage="Password is required." 
                                              ToolTip="Password is required." ValidationGroup="CreateUserWizard1" 
                                              CssClass="signupvalidators" ForeColor="Red">*</asp:RequiredFieldValidator>
                                      </td>
                                  </tr>
                                  <tr>
                                      <td align="right">
                                          <asp:Label ID="ConfirmPasswordLabel" runat="server" 
                                              AssociatedControlID="ConfirmPassword" style="z-index:2; position:relative !important;">Confirm Password:</asp:Label>
                                      </td>
                                      <td>
                                          <asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password" BorderStyle="Solid" BorderWidth="1px" BorderColor="#0099CC" BackColor="#FAFFBD"></asp:TextBox>
                                          <asp:RequiredFieldValidator ID="ConfirmPasswordRequired" runat="server" 
                                              ControlToValidate="ConfirmPassword" 
                                              ErrorMessage="Confirm Password is required." 
                                              ToolTip="Confirm Password is required." 
                                              ValidationGroup="CreateUserWizard1" CssClass="signupvalidators" ForeColor="Red">*</asp:RequiredFieldValidator>
                                      </td>
                                  </tr>
                                  <tr>
                                      <td align="right">
                                          <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email" style="z-index:2; position:relative !important;">E-mail:</asp:Label>
                                      </td>
                                      <td>
                                          <asp:TextBox ID="Email" runat="server" BorderStyle="Solid" BorderWidth="1px" BorderColor="#0099CC" BackColor="#FAFFBD"></asp:TextBox>
                                          <asp:RequiredFieldValidator ID="EmailRequired" runat="server" 
                                              ControlToValidate="Email" ErrorMessage="E-mail is required." 
                                              ToolTip="E-mail is required." ValidationGroup="CreateUserWizard1" 
                                              CssClass="signupvalidators" ForeColor="Red">*</asp:RequiredFieldValidator>
                                      </td>
                                  </tr>
                                  <tr>
                                      <td align="right">
                                          <asp:Label ID="QuestionLabel" runat="server" AssociatedControlID="Question" style="z-index:2; position:relative !important;">Security Question:</asp:Label>
                                      </td>
                                      <td>
                                          <asp:TextBox ID="Question" runat="server" BorderStyle="Solid" BorderWidth="1px" BorderColor="#0099CC" BackColor="#FAFFBD"></asp:TextBox>
                                          <asp:RequiredFieldValidator ID="QuestionRequired" runat="server" 
                                              ControlToValidate="Question" ErrorMessage="Security question is required." 
                                              ToolTip="Security question is required." 
                                              ValidationGroup="CreateUserWizard1" CssClass="signupvalidators" ForeColor="Red">*</asp:RequiredFieldValidator>
                                      </td>
                                  </tr>
                                  <tr>
                                      <td align="right">
                                          <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer" style="z-index:2; position:relative !important;">Security Answer:</asp:Label>
                                      </td>
                                      <td>
                                          <asp:TextBox ID="Answer" runat="server" BorderStyle="Solid" BorderWidth="1px" BorderColor="#0099CC" BackColor="#FAFFBD"></asp:TextBox>
                                          <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" 
                                              ControlToValidate="Answer" ErrorMessage="Security answer is required." 
                                              ToolTip="Security answer is required." ValidationGroup="CreateUserWizard1" 
                                              CssClass="signupvalidators" ForeColor="Red">*</asp:RequiredFieldValidator>
                                      </td>
                                  </tr>
                              <tr>
                              <td align="center" colspan="2">
                                  <asp:RegularExpressionValidator ID="UsernameLength" runat="server" 
                                      ErrorMessage="Username should be minimum 5-10 characters." 
                                      ControlToValidate="UserName" Display="Dynamic" ForeColor="Red" 
                                      ValidationExpression="^[\s\S]{5,10}$" ValidationGroup="CreateUserWizard1"></asp:RegularExpressionValidator>
                              </td>
                              </tr>
                                  <tr>
                                      <td align="center" colspan="2">
                                          <asp:CompareValidator ID="PasswordCompare" runat="server" 
                                              ControlToCompare="Password" ControlToValidate="ConfirmPassword" 
                                              Display="Dynamic" 
                                              ErrorMessage="The Password and Confirmation Password must match." 
                                              ValidationGroup="CreateUserWizard1" ForeColor="Red"></asp:CompareValidator>
                                      </td>
                                  </tr>
                                  <tr>
                                      <td align="center" colspan="2" style="color:Red;">
                                          <asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal>
                                      </td>
                                  </tr>
                                  <tr>
                                  <td  align="center" colspan="2">
                                   <asp:RegularExpressionValidator ID="PasswordLength" runat="server"  Display="Dynamic"
                                              ErrorMessage="Password length minimum: 7. Non-alphanumeric characters required: 1" 
                                              ControlToValidate="Password" ValidationExpression="(?=^.{7,51}$)([A-Za-z]{1})([A-Za-z0-9!@#$%_\^\&amp;\*\-\.\?]{5,49})$" 
                                          ForeColor="Red" ValidationGroup="CreateUserWizard1"></asp:RegularExpressionValidator>
                                  </td>
                                  </tr>
                                  <tr>
                                   <td  align="center" colspan="2">
                                      <asp:RegularExpressionValidator ID="EmailValidator" runat="server" Display="Dynamic"
                                            ControlToValidate="Email"  ErrorMessage="Please enter a valid e-mail address." ValidationExpression="^[\w-]+(\.[\w-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)*?\.[a-z]{2,6}|(\d{1,3}\.){3}\d{1,3})(:\d{4})?$"  ForeColor="Red" ValidationGroup="CreateUserWizard1"></asp:RegularExpressionValidator>
                                  </td> 
                                  </tr>
                              </table>

                               <asp:UpdateProgress ID="UpdateProgressUserDetails" runat="server" DisplayAfter="0">
                                        <ProgressTemplate>
                                            <div style="position: absolute; top: 215px; left:140px;">
                                                <img src="img/Loader.gif" alt="loading" /><br />
                                               <%-- <span style="font-weight: bold; font-size: large; color: #000000;">Please wait...</span>--%>
                                            </div>
                                        </ProgressTemplate>
                                    </asp:UpdateProgress>
                          </ContentTemplate>
                      </asp:CreateUserWizardStep>
                      <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
                      </asp:CompleteWizardStep>
                  </WizardSteps>
              </asp:CreateUserWizard>

2 个答案:

答案 0 :(得分:4)

LoginCreatedUser设为false

来自DisableCreatedUser备注:

  

当DisableCreatedUser为true时,您应该设置LoginCreatedUser   属性为false,以便CreateUserWizard不会尝试记录   对新用户。

来自LoginCreatedUser Reamrks:

  

如果需要,可以将LoginCreatedUser属性设置为false   创建用户帐户但不对帐户进行身份验证   创建。如果您是管理员创建,这可能很有用   例如,用户帐户,或者如果之前有等待期   用户可以访问该网站。

答案 1 :(得分:4)

我终于找到了解决方案,这是因为我的代码隐藏中的这一行:

FormsAuthentication.SetAuthCookie(CreateUserWizard1.UserName, False)