我目前正在做一个Asp.net核心2.1 MVC项目。在项目的登录页面中,我想检查用户并授予他们访问不同页面的权限。也就是说,如果用户是管理员,则应将其重定向到管理页面,如果是本地用户,则应将其重定向到本地用户注册页面。我用于检查的代码如下。 在我的控制器中,
`var user = await _userManager.FindByNameAsync(UserName);
if (user != null)
{
var result = await _signInManager.PasswordSignInAsync(user,Password, false, false);
if (result.Succeeded)
{
var log = await _context.LoginModels
.FirstOrDefaultAsync(m => m.UserName ==UserName && m.Password == Password);
if (log.UserType == "Admin")
return RedirectToAction("Index", "Admin");
if (log.UserType == "User")
return RedirectToAction("Index", "Home");
}
}
TempData["LoginFeedBack"] = "JSalert();";
ModelState.AddModelError("", "User name/password not found");
return RedirectToAction("Login","Account");
}`
我有2个用户类型,分别是admin和user。当前的问题是,只有具有访问权限或循环的数据库中的第一个用户(是管理员)没有检查其他用户。它根本不授予其他用户任何访问权限。 我该如何解决这个问题?