问题出现的原因可能是在配置密码验证规则时没有正确地使用Configure
方法。正确的示例代码如下:
services.Configure(options =>
{
// 密码验证规则
options.Password.RequireDigit = true;
options.Password.RequireLowercase = true;
options.Password.RequireNonAlphanumeric = true;
options.Password.RequireUppercase = true;
options.Password.RequiredLength = 8;
options.Password.RequiredUniqueChars = 1;
});
配置完这些规则后,需要在Startup.cs
文件中启用密码验证:
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentity()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
// 启用密码验证
services.Configure(options =>
{
options.Password.RequiredLength = 8;
options.Password.RequireDigit = true;
options.Password.RequireLowercase = true;
options.Password.RequireNonAlphanumeric = true;
options.Password.RequireUppercase = true;
options.Password.RequiredUniqueChars = 1;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
添加以上配置后就可以正确地启用密码验证规则了。