【问题标题】:Remove default PasswordValidator from Asp.Net Core从 Asp.Net Core 中删除默认 PasswordValidator
【发布时间】:2020-09-18 15:30:47
【问题描述】:
我创建了自己的PasswordValidator 并使用services.AddIdentity<, >().AddPasswordValidator<>() 将其添加到IdentityBuilder。
这会将我的 PasswordValidator 添加到默认密码验证器之上,因此两者都将检查密码。 (不是我需要的)。
如何删除默认设置?
【问题讨论】:
标签:
c#
asp.net-core
asp.net-core-2.2
asp.net-core-identity
【解决方案1】:
AddIdentity 仅在尚未注册的情况下添加默认的PasswordValidator 实现。因此,您可以在调用AddIdentity 之前添加自定义实现:
services.AddScoped<IPasswordValidator<YourUser>, YourPasswordValidator>();
services.AddIdentity<YourUser, YourRole>(...);
在这种情况下,只有YourPasswordValidator 被注册。