После проверки подлинности с использованием лесов я испытываю трудности с изменением параметров идентификации.
Я использовал эту команду:
dotnet new webapp --auth Individual -o mywebapp
Затем я изменил файл Startup.cs как таковой, изменив параметры Identity:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>(config =>
{
// TODO
//config.SignIn.RequireConfirmedEmail = true;
})
.AddDefaultUI(UIFramework.Bootstrap4)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.Configure<IdentityOptions>(options =>
{
// Password settings
options.Password.RequireDigit = true;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
options.Password.RequireLowercase = false;
options.Password.RequiredLength = 3;
options.Password.RequiredUniqueChars = 1;
// Lockout settings
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
options.Lockout.MaxFailedAccessAttempts = 5;
options.Lockout.AllowedForNewUsers = true;
// User settings
options.User.RequireUniqueEmail = true;
});
Настройка options.Password.RequiredLength
не имеет никакого эффекта.
При запуске приложения браузер отображает сообщение об ошибке:
The Password must be at least 6 and at max 100 characters long.
Я не ожидаю ошибку «по крайней мере 6»;Из того, что я прочитал, должно быть «3».Как мне это исправить?
Столько черной магии происходит, и поиск фразы "по крайней мере" ничего не показывает.
Редактировать ---> ДобавлениеКод ViewModel, который был создан в лесу:
namespace netplus.Models.Account
{
public class RegisterViewModel
{
[Required, MaxLength(256)]
public string Username { get; set; }
[Required, DataType(DataType.Password)]
public string Password { get; set; }
[DataType(DataType.Password), Compare(nameof(Password))]
public string ConfirmPassword { get; set; }
}
}