2012-01-15 46 views
2

我有一個簡單的創建用戶嚮導控件,它現在工作得很好。 問題是我想禁用後,他創造他的帳戶創建日誌的用戶,我能夠做到這一點,只需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})([[email protected]#$%_\^\&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> 
+0

我與具有用戶註冊的概念掙扎,但你馬上把它們鎖在應用程序之外。 – DOK 2012-01-15 18:52:58

+0

這只是簡單的,我創建新的用戶,然後它顯示我用戶已成功創建。在這裏一切都很好。現在當我立即刷新頁面顯示用戶已登錄,雖然我已禁用他的帳戶。 – coder 2012-01-15 18:54:42

+0

向我們展示wizardsteps。 – 2012-01-15 19:04:31

回答

4

我終於發現瞭解決方案,這是因爲在這一條線上的我的後臺代碼:

FormsAuthentication.SetAuthCookie(CreateUserWizard1.UserName, False) 
4

設置LoginCreatedUserfalse

DisableCreatedUser注:

當DisableCreatedUser是真實的,你應該設置LoginCreatedUser 屬性設置爲false,以使CreateUserWizard控件不會嘗試對新用戶登錄 。

LoginCreatedUser Reamrks:

的LoginCreatedUser屬性可以,如果你想 創建一個用戶帳戶之後卻是創造 無法驗證帳戶設置爲false。例如,如果您是管理員創建 用戶帳戶,或者在 用戶可以訪問該網站之前有一個等待期,這可能會很有用。

+0

@ Tim-謝謝您的回覆,因爲我已經在我的編輯中設置了該屬性,但它仍然顯示用戶已登錄。 – coder 2012-01-15 19:00:16

相關問題