2011-08-10 3 views
0

내 교과서에는 올바른 암호의 기본값 인 "7 자 이상을 입력해야하며 그 중 하나는 영숫자가 아닙니다."라고 나와 있습니다. 나는 확실히 그것을하고있다. 내가 얻는 오류는 "제공된 비밀번호 응답이 유효하지 않습니다."입니다. 여기에 영문 파일의 코드는 다음과 같습니다ASP.Net 멤버쉽 공급자 : 사용자 만들기 사용자

<div id="loginBlock"> 
    First Name: <asp:TextBox ID="fname" runat="server"></asp:TextBox>&nbsp;&nbsp; 
    Last Name: <asp:TextBox ID="lname" runat="server"></asp:TextBox><br /> 
    Username: <asp:TextBox ID="userName" runat="server"></asp:TextBox><br /> 
    Password: <asp:TextBox ID="passwd" runat="server" TextMode="Password"></asp:TextBox><br /> 
    Confirm Password: <asp:TextBox ID="passwdConfirm" runat="server" 
     TextMode="Password"></asp:TextBox> 
    &nbsp;<asp:CompareValidator ID="validatePasswd" CssClass="vaidator" ControlToValidate="passwdConfirm" ControlToCompare="passwd" runat="server" ErrorMessage="Passwords don't match! Re-enter."></asp:CompareValidator><br /> 
    Email: <asp:TextBox ID="email" runat="server"></asp:TextBox><br /> 
    Confirm Email: <asp:TextBox ID="emailConfirm" runat="server"></asp:TextBox> 
    &nbsp;<asp:CompareValidator ID="validateEmail" CssClass="vaidator" ControlToValidate="emailConfirm" ControlToCompare="email" runat="server" ErrorMessage="Passwords don't match! Re-enter."></asp:CompareValidator><br /> 
    <asp:Button ID="submit" runat="server" Text="JOIN" onclick="submit_Click" /><br /><br /> 
    <asp:TextBox ID="loginError" CssClass="vaidator" runat="server" Width="300px" ReadOnly="True" 
     BorderStyle="None" Font-Size="0.9em" Rows="2"></asp:TextBox> 
</div> 

그리고 여기에 코드 숨김 인 이벤트를 버튼 클릭 :

protected void submit_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       Membership.CreateUser(userName.Text, passwdConfirm.Text, email.Text); 
      } 
      catch (MembershipCreateUserException) 
      { 
       loginError.Text = "Password must be a minumum of 7 characters and contain at least one non-alphanumeric character"; 
      } 
     } 

사전에 감사!

+0

같은 회원 구성보기 무엇 당신의 web.config 파일에서

당신이 뭔가를 멤버 자격 공급자 설정을 정의하는 부분이 있어야합니다 당신의 web.config에? –

답변

0

보안 설정에서 질문과 답변이 켜져있는 것 같습니다. web.config 파일에서 멤버 자격 공급자 섹션을 확인하고 requiresQuestionAndAnswer="false"을 확인하십시오.

<membership> 
    <providers> 
    <clear/> 
     <add name="AspNetSqlMembershipProvider" passwordStrengthRegularExpression="^.*(?=^[^\s]{8,32}$)(?=.*[a-zA-Z])(?=.*[\d]).*$" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ConnSTR" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="20" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/myApp"/> 
    </providers> 
</membership> 

설정할 필요가있는 비트는 다음과 같습니다 :

requiresUniqueEmail="false" 
+0

Susan

+0

이들은 내 web.config의 값입니다. 그 진술을 추가 하시겠습니까? – Susan

+0

아니요. 아래 비트를 찾고 있습니다. .... –

관련 문제