ASP.net Core MVC 登录功能,是指在ASP.net Core MVC框架下实现用户登录验证的功能。具体实现方法可参考以下步骤:
services.AddIdentity()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
其中,User和UserRole是自定义的用户和用户角色实体类型,ApplicationDbContext是自定义的数据上下文对象。app.UseAuthentication();
[HttpGet]
public IActionResult Login(string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task Login(LoginViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
return RedirectToLocal(returnUrl);
}
else
{
ModelState.AddModelError("", "用户名或密码不正确。");
}
}
return View(model);
}
其中,LoginViewModel是自定义的登录视图模型类,_signInManager是通过依赖注入方式注入的SignInManager对象。@model LoginViewModel
@{
ViewData["Title"] = "登录";
}
@ViewData["Title"]