Первый шаг - создать личность для вашего приложения:
Удостоверение лесов в проектах ASP.NET Core
Затем вы можете настроить Register.cshtml
/ Register.cshtml.cs
и Login.cshtml
/ Login.cshtml.cs
, обновить модель и вид и изменить логику в функции OnPostAsync
в соответствии с вашими требованиями.
По вашему требованию вы можете выполнить следующие шаги:
- Идентификация лесов в вашем проекте.
Измените Register.cshtml.cs
, добавьте имя пользователя к InputModel
:
[Required]
[DataType(DataType.Text)]
[Display(Name = "User Name")]
public string UserName { get; set; }
Измените метод OnPostAsync
:
var user = new IdentityUser { UserName = Input.UserName, Email = Input.Email };
Обновите Register.cshtml
, указав имя пользователя:
<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>
Измените Register.cshtml.cs
, измените InputModel
, чтобы заменить Email для UserName:
[Required]
[DataType(DataType.Text)]
[Display(Name = "User Name")]
public string UserName { get; set; }
Изменить Register.cshtml
:
<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>
По умолчанию ASP.NET Identity использует FindByNameAsync
, чтобы проверить, существует ли пользователь с данным именем, поэтому вам не нужно переопределять функцию PasswordSignInAsync
в SignInManager
. Если вы хотите войти по электронной почте, вы можете нажать здесь , чтобы обновить его.