我正在为我的.net应用程序实现自定义成员身份提供程序。 我已经设置了一个最小字符数和非字母数字字符的配置,但似乎仍然允许密码通过,即使它们违反规则。
OnValidatingPassword是一个虚方法。 Microsoft的示例没有覆盖该方法。
这个问题也遇到了同样的问题,但作者放弃了获得答案,并简单地重写了函数。 这个答案说明不需要覆盖函数即可使其工作。
基础函数不起作用吗? 当我覆盖OnValidatePassword并简单调用基类时,我的函数被命中,但它从未拒绝我的过于简单的密码。
代码示例(带有自定义CreateUser函数)
OnValidatingPassword是一个虚方法。 Microsoft的示例没有覆盖该方法。
这个问题也遇到了同样的问题,但作者放弃了获得答案,并简单地重写了函数。 这个答案说明不需要覆盖函数即可使其工作。
基础函数不起作用吗? 当我覆盖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;
}
OnSomeEvent(EventArgs args)
的事件,然后在此处实际引发事件。请参见此答案。因此,OnValidatingEvent
并非响应事件,而是引发事件。 - Jeff OgataOnValidatingPassword
名称的更好的信息来源。希望对你有帮助。 - Jeff Ogata