如何更改 Owin.AuthenticationIdentityManager 的 PasswordValidator 设置?



此自动生成的代码注册一个新用户:

var manager = new AuthenticationIdentityManager(new IdentityStore());
User u = new User(userName) { UserName = userName };
IdentityResult result = manager.Users.CreateLocalUser(u, Password.Text);
if (result.Success) 
{ ... }

如何更改密码验证设置?
这是我使用dotPeek发现的:
AuthenticationIdentityManager 类实例包含 UserManager,它使用 PasswordValidator 验证密码:
从类 Microsoft.AspNet.Identity.UserManager:

result = this.PasswordValidator.Validate(password);
internal IStringValidator PasswordValidator
{
  get
  {
    return this.Manager.Settings.GetIdentityOptions().PasswordValidator;
  }
}

类 Microsoft.AspNet.Identity.IdentityOptions:

public IdentityOptions()
{
  this._defaultPasswordValidator = new IdentityOptions.DefaultPasswordValidator(this);
  this._defaultUserNameValidator = new IdentityOptions.DefaultUserNameValidator(this);
  this.MinRequiredPasswordLength = 6;
  this.LocalLoginProvider = "Local";
}
public IStringValidator PasswordValidator
{
  get
  {
    return this._passwordValidator ?? (IStringValidator) this._defaultPasswordValidator;
  }
  set
  {
    this._passwordValidator = value;
  }
}

我找不到可以访问或替换身份选项实例的位置。是否有任何示例或文档?

RTM版本似乎已经放弃了AuthenticationIdentityManager。尝试升级到最新的预发行版本。

在最新版本中,您可以向UserManager提供PasswordValidator实现。这将启用应用中密码强度验证的自定义。

ASP.NET Identity nighty 软件包现已在 MyGet 上可用

相关内容

  • 没有找到相关文章

最新更新