从 Asp.Net Core 中移除默认的 PasswordValidator
Remove default PasswordValidator from Asp.Net Core
我创建了自己的 PasswordValidator
并使用 services.AddIdentity<, >().AddPasswordValidator<>()
将其添加到 IdentityBuilder。
这会将我的 PasswordValidator 添加到默认密码验证器之上,因此两者都会检查密码。 (不是我需要的)。
如何删除默认的?
AddIdentity
仅在尚未注册的情况下添加默认的 PasswordValidator
实现。因此,您可以在 before 调用 AddIdentity
:
之前添加自定义实现
services.AddScoped<IPasswordValidator<YourUser>, YourPasswordValidator>();
services.AddIdentity<YourUser, YourRole>(...);
在这种情况下,只有 YourPasswordValidator
被注册。
我创建了自己的 PasswordValidator
并使用 services.AddIdentity<, >().AddPasswordValidator<>()
将其添加到 IdentityBuilder。
这会将我的 PasswordValidator 添加到默认密码验证器之上,因此两者都会检查密码。 (不是我需要的)。
如何删除默认的?
AddIdentity
仅在尚未注册的情况下添加默认的 PasswordValidator
实现。因此,您可以在 before 调用 AddIdentity
:
services.AddScoped<IPasswordValidator<YourUser>, YourPasswordValidator>();
services.AddIdentity<YourUser, YourRole>(...);
在这种情况下,只有 YourPasswordValidator
被注册。