从Asp.Net Core移除默认的PasswordValidator

问题描述

我已经创建了自己的PasswordValidator,并使用services.AddIdentity<,>().AddPasswordValidator<>()将其添加到IdentityBuilder中。 这会将我的PasswordValidator添加认密码的顶部,因此两者都会检查密码。 (不是我所需要的。)

如何删除认值?

解决方法

AddIdentity仅添加默认的PasswordValidator实现(如果尚未注册)。因此,您可以在调用AddIdentity之前添加自定义实现:

services.AddScoped<IPasswordValidator<YourUser>,YourPasswordValidator>();
services.AddIdentity<YourUser,YourRole>(...);

在这种情况下,只有YourPasswordValidator被注册。