[英]ChangePassword Control doesn't work
我目前正在使用C#在.net中做一个应用程序,我想使用更改密码控件。
问题是...我总是收到“密码错误或新密码无效。新密码长度最小:1。非字母数字字符:0。”的错误。
即使我提供了正确的密码参数并在我的web.config中的Mebership提供商中设置了(minRequiredPasswordLength =“ 1” minRequiredNonalphanumericCharacters =“ 0”)。
<asp:ChangePassword ID="ChangePassword1" runat="server" BackColor="#EFF3FB" BorderColor="#B5C7DE"
BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana"
Font-Size="0.8em" ForeColor="#333333"
ChangePasswordButtonText="Change"
ChangePasswordTitleText="Password change"
ConfirmNewPasswordLabelText="Retype new password:"
NewPasswordLabelText="New Password:">
</asp:ChangePassword>
我正在实现自己的MembershipProvider:
public class MyMembershipProvider : MembershipProvider
{
...
public override int MinRequiredNonAlphanumericCharacters
{
get
{
return 0;
}
}
...
}
web.config:
<membership defaultProvider="MyMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<add name="MyMembershipProvider"
type="My.Security.BsAsMembershipProvider"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="MyApp"
requiresUniqueEmail="true"
passwordFormat="Clear"
passwordStrengthRegularExpression=""
minRequiredNonalphanumericCharacters="0"
description="My custom membership provider"
/>
</providers>
</membership>
有任何想法吗? 谢谢。
我发现了问题,但尚未实现MyMemberShipUser ChangePassword方法。
public class MyMembershipUser : MembershipUser
{
public MyMembershipUser()
{
}
public MyMembershipUser(string username)
: base("MyMembershipProvider", username, null, "", "", "", true, true, DateTime.Today, DateTime.Today, DateTime.Today, DateTime.Today, DateTime.Today)
{
}
public override bool ChangePassword(string oldPassword, string newPassword)
{
//Do something
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.