asp.net - 如何测试ASP.NET成员身份密码是否满足配置的复杂性要求?

标签 asp.net security membership

我有一个ASP.NET页,允许管理员更改用户密码。由于管理员不知道用户密码,因此我使用以下方法:

MembershipUser member = Membership.GetUser(_usernameTextBox.Text);
member.ChangePassword(member.ResetPassword(), _passNewTextBox.Text);

-如此SO question所述。

如果新密码不符合web.config文件中配置的复杂性要求,则密码将被重置,但未更改为所需的密码。如果新密码不满足复杂性要求,则密码根本不应更改。

有没有一种简单的方法可以根据复杂性要求测试新密码?

最佳答案

您可以使用以下属性来测试密码:

  • Membership.PasswordStrengthRegularExpression
  • Membership.MinRequiredPasswordLength
  • Membership.MinRequiredNonAlphanumericCharacters

  • 请注意,如果尚未在web.config文件中配置PasswordStrengthRegularExpression属性,则该属性将为空字符串。

    有关正则表达式匹配的信息,请参见Regex.IsMatch(String)上的MSDN引用。

    *感谢马特的有用评论。

    关于asp.net - 如何测试ASP.NET成员身份密码是否满足配置的复杂性要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/375524/

    相关文章:

    c# - ASP.NET MVC 3 工具包

    java - 如何解决sonatype-2017-0312漏洞

    silverlight - 是否可以将 Windows 集成安全性与 Silverlight RIA 服务结合使用

    java - 如何使用带 key 的 SHA-1 对字符串进行哈希处理?

    php - 用户通过Facebook登录后,我应该如何处理用户数据

    asp.net - ASP.NET 成员(member)资格是否受到 Firesheep 的保护?

    asp.net - 我的事件日志充满了 ViewState 无效和未处理的异常

    c# - Linq Orderby 与 SQL Orderby

    c# - dotnet-razor-tooling.dll 的 .NET Core 1.0 部署问题

    asp.net - 通过 ASP.NET 成员身份检查用户角色时出现 SemaphoreFullException