从 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 被注册。