В настоящее время я застрял при попытке назначить свой идентификатор входа для участника в. net core. В настоящее время я использую SQLite для разработки. У меня есть модель пользователя (которая используется при входе в систему), а затем модель участника (используется для хранения информации об этом пользователе). Я надеюсь назначить логин участнику, поэтому, когда он записывается в класс, он может видеть, в какие классы он записался. однако у меня возникла проблема с назначением имени пользователя для входа.
Любая помощь будет принята с благодарностью.
Приведенный ниже код является моей моделью пользователя.
public enum Role { Admin, Manager, Guest }
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public Role Role { get; set; }
}
}
Код ниже - моя модель участника.
public enum Belt { White, Yellow, Green , Purple, Orange, Blue, Brown, Red, Black}
public class Member
{
public int Id { get; set; }
[Display(Name = "Name")]
[Required]
public string Name { get; set; }
[Required]
[Display(Name = "Date Of Birth")]
[DataType(DataType.Date)]
public User UserId { get; set; }
//removed other details as too long
}
Мой метод входа в систему в контроллере входа:
public IActionResult Login()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login([Bind("Username,Password")] User m)
{
if (!ModelState.IsValid)
{
return View(m);
}
var user = _svc.Authenticate(m.Username, m.Password);
if (user == null)
{
ModelState.AddModelError("Username", "Invalid Login Credentials");
ModelState.AddModelError("Password", "Invalid Login Credentials");
return View(m);
}
var principal = BuildPrincipal(user);
// check user can login
await HttpContext.SignInAsync(
CookieAuthenticationDefaults.AuthenticationScheme,
principal
);
return Redirect("/");
}
Извините, если этот вопрос уже был задан или его еще нет меня спросили соответствующим образом, я все еще новичок.