Я создаю новый веб-сайт ASP.NET Core (2.2). По умолчанию имя пользователя и адрес электронной почты - это одно и то же. Я хочу, чтобы они были другими. Проблема возникает, когда я пытаюсь снова войти в систему на веб-странице.
Я создал страницу регистрации личности и внес несколько простых изменений в код, а также в саму страницу Razor (см. Ниже). Я также создал страницу входа в систему, но не думаю, что мне нужно вносить какие-либо изменения, потому что я в порядке, когда люди входят в систему, используя свой адрес электронной почты.
Вот изменения на странице Register.cshtml.cs.
Я добавил это в класс InputModel:
[Required]
[StringLength(256, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 5)]
[DataType(DataType.Text)]
[Display(Name = "User Name")]
public string UserName { get; set; }
Я также изменил пользователя в методе OnPostAsync
var user = new IdentityUser { UserName = Input.UserName, Email = Input.Email };
Все остальное по умолчанию.
На самой странице я просто добавил ее под электронное письмо:
<div class="form-group">
<label asp-for="Input.UserName"></label>
<input asp-for="Input.UserName" class="form-control"/>
<span asp-validation-for="Input.UserName" class="text-danger"></span>
</div>
Я ожидаю, что пользователь войдет в систему как обычно, увы. Я получаю сообщение об ошибке «Недопустимая попытка входа». Досадно, что пользователь, которого я создал до внесения каких-либо изменений, все еще может войти в систему очень хорошо. Так что моя интуиция говорит мне, что что-то смешное на странице регистрации, я просто не уверен, где.