【发布时间】:2011-10-04 21:05:41
【问题描述】:
我正在为我的 .net 应用程序实现一个自定义成员资格提供程序。我已经为最少数量的字符和非字母数字字符设置了配置,但它似乎仍然允许密码通过,即使它们违反了规则。
OnValidatingPassword 是一个虚方法。 example from Microsoft 不会覆盖该方法。
这个question 解决了同样的问题,但作者放弃了获得他的问题的答案并简单地覆盖了该功能。这个answer states 不需要重写函数就可以工作。
基本函数不做任何事情吗?当我重写 OnValidatePassword 并简单地调用基类时,我的函数会被命中,但它从不拒绝我过于简单的密码。
代码示例(带有自定义 CreateUser 函数)
protected override void OnValidatingPassword(ValidatePasswordEventArgs e)
{
base.OnValidatingPassword(e);
}
//
// MembershipProvider.CreateUser
//
public MembershipUser CreateUser(string username, string password, string globalIdentifier, string firstName, string lastName,
string birthDate, object providerUserKey, out MembershipCreateStatus status)
{
ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, password, true);
OnValidatingPassword(args);
if (args.Cancel)
{
status = MembershipCreateStatus.InvalidPassword;
return null;
}
【问题讨论】:
标签: .net asp.net-membership membership-provider custom-membershipprovider