Почему мои правила проверки пароля не работают? - PullRequest
1 голос
/ 29 мая 2019

Я настроил Правила проверки паролей в разделе «Классы запуска служб». AddIdentity <>, но он не работает. Я использовал Asp Core Identity API такой, что:

Password.RequiredLength = 8  

но мне нужен пароль произвольной длины в моем проекте.

Это содержимое моих текущих файлов (т.е. CreateController и StartUp.cs)

public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddDbContext<AppIdentityDBContext>(options     =>options.UseSqlServer(
            Configuration["ConnectionStrings:IdentityConnection"]
            ));
        services.AddIdentity<AppUser, IdentityRole>(opts => {
              opts.Password.RequiredLength = 8;
              opts.Password.RequireNonAlphanumeric = false;
              opts.Password.RequireLowercase = false;
              opts.Password.RequireUppercase = false;
              opts.Password.RequireDigit = false;
        }).AddEntityFrameworkStores<AppIdentityDBContext>()
        .AddDefaultTokenProviders();
}


public async Task<IActionResult> Create(UserCreateVM model)
    {
        if(ModelState.IsValid)
        {
            AppUser user = new AppUser
            {
                UserName = model.Name,
                Email = model.Email,
            };

            IdentityResult Result = await _userManager.CreateAsync(user);

            if(Result.Succeeded)
            {
                return RedirectToAction("Index");
            }

            else
            {
                foreach (var item in Result.Errors)
                {
                    ModelState.AddModelError("", item.Description);
                }
            }
        }

        else
        {
            return View(model);
        }
    }

1 Ответ

0 голосов
/ 29 мая 2019

Я редактирую эту строку:

IdentityResult Result = await _userManager.CreateAsync(user);

до:

IdentityResult Result = await _userManager.CreateAsync(user,model.Password);

и проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...