ASP.Net 会员资格提供程序:自定义创建用户
我的教科书指出,有效密码的默认设置“要求您输入至少七个字符,其中之一是非字母数字”。我肯定会这么做。我收到的错误是“提供的密码答案无效。”这是 aspx 文件中的代码:
<div id="loginBlock">
First Name: <asp:TextBox ID="fname" runat="server"></asp:TextBox>
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>
<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>
<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";
}
}
提前致谢!
My textbook states that the default for a valid password, "requires that you enter at least seven characters with one of them being a non-alphanumeric." I am definitely doing that. The error I'm getting is, "The password answer supplied is invalid." Here is the code in the aspx file:
<div id="loginBlock">
First Name: <asp:TextBox ID="fname" runat="server"></asp:TextBox>
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>
<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>
<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>
And here is the code-behind button-click event:
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";
}
}
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您已经在安全配置中打开了问答功能。检查您的
web.config
文件中的成员资格提供商部分,并检查requiresQuestionAndAnswer="false"
。在您的 web.config 文件中,您应该有一个定义成员资格提供程序设置的部分,如下所示:
您需要设置的位是:
Sounds like you've got question and answer turned on in the security configuration. Check your
web.config
file for the membership provider section and check thatrequiresQuestionAndAnswer="false"
.In your
web.config
file you should have a section defining the membership provider settings, something like this:The bit you need to set is: