gpt4 book ai didi

c# - MembershipProvider 的密码验证器?

转载 作者:太空狗 更新时间:2023-10-29 23:42:02 26 4
gpt4 key购买 nike

我想验证用于在 asp.net (.net 3.5) 中创建/更新用户的密码字段。密码将用于 MembershipProvider

实现此目的的最佳方法是什么,以便验证将使用成员资格提供商的配置设置?当然,我可以只编写代码,但这似乎是一件非常基础的事情,必须有一种直接的方法来完成。

[edit] 阐明这是新用户或更改密码的密码字段,因此 ValidateUser 没有帮助。

最佳答案

我会说答案是否定的,因为 SqlMembershipProvider没有在其 ChangePassword 中调用密码验证方法和 CreateUser方法。使用 Reflector,您可以看到它在两种方法中运行了相同的一组检查(见下文)。所以我想说的是,按照您现在的做法编写您自己的函数是可行的方法。

if (newPassword.Length < this.MinRequiredPasswordLength)
{
throw new ArgumentException(SR.GetString("Password_too_short", new object[] { "newPassword", this.MinRequiredPasswordLength.ToString(CultureInfo.InvariantCulture) }));
}
int num3 = 0;
for (int i = 0; i < newPassword.Length; i++)
{
if (!char.IsLetterOrDigit(newPassword, i))
{
num3++;
}
}
if (num3 < this.MinRequiredNonAlphanumericCharacters)
{
throw new ArgumentException(SR.GetString("Password_need_more_non_alpha_numeric_chars", new object[] { "newPassword", this.MinRequiredNonAlphanumericCharacters.ToString(CultureInfo.InvariantCulture) }));
}
if ((this.PasswordStrengthRegularExpression.Length > 0) && !Regex.IsMatch(newPassword, this.PasswordStrengthRegularExpression))
{
throw new ArgumentException(SR.GetString("Password_does_not_match_regular_expression", new object[] { "newPassword" }));
}

关于c# - MembershipProvider 的密码验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4255646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com