Asp.net mvc 如何使用表aspNetUsers在ASP.NET MVC 5中创建管理员用户
我想在我的帐户控制器中添加函数,如果用户状态为1,则重定向到配置文件页;如果用户状态为0,则重定向到索引页 我尝试使用authorize角色,但没有成功。用户角色使用两个表,我希望使用一个表 如果有人有任何想法或有这样的方法,我想管理员用户 代码源:Asp.net mvc 如何使用表aspNetUsers在ASP.NET MVC 5中创建管理员用户,asp.net-mvc,asp.net-identity,Asp.net Mvc,Asp.net Identity,我想在我的帐户控制器中添加函数,如果用户状态为1,则重定向到配置文件页;如果用户状态为0,则重定向到索引页 我尝试使用authorize角色,但没有成功。用户角色使用两个表,我希望使用一个表 如果有人有任何想法或有这样的方法,我想管理员用户 代码源: // POST: /Account/Login [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task<Acti
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
// This doesn't count login failures towards account lockout
// To enable password failures to trigger account lockout, change to shouldLockout: true
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
return RedirectToLocal(returnUrl);
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "Invalid login attempt.");
return View(model);
}
}`
`
//POST:/Account/Login
[HttpPost]
[异名]
[ValidateAntiForgeryToken]
公共异步任务
您可以在主页中重新路由,或者执行以下操作:
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
var user = context.Users.Single(u => u.UserName == model.UserName); // or email
if (user.Status == 1) return RedirectToAction("Profile", "Account");
return RedirectToAction("Index", "Home");
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "Invalid login attempt.");
return View(model);
}
您可以在主页中重新路由,或者执行以下操作:
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
var user = context.Users.Single(u => u.UserName == model.UserName); // or email
if (user.Status == 1) return RedirectToAction("Profile", "Account");
return RedirectToAction("Index", "Home");
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "Invalid login attempt.");
return View(model);
}
欢迎来到Stackoverflow。这里有一些问题。拼写和语法都很糟糕,代码应该在问题中,而不是图片中。帮助我们,帮助你。如前所述,这个问题需要我们付出太多的努力才能理解。是的,这不是一个格式良好的问题,但假设ASP标识有一个自定义字段,您可以通过如下方式检查它:var user=context.Users.FirstOrDefault(u=>u.UserName==myUserName)代码>然后检查自定义状态字段。发布代码比图片更有用。非常感谢Steve Greene检查我创建的自定义状态,如果(user.status==1){return redirect(“profile”)但是我的问题在account controlleri中如何实现这一点我把代码源放在了我的问题中,但我的问题是我把这个带有switch resultWelcome的函数放在Stackoverflow中。这里有一些问题。拼写和语法很可怕,代码应该在问题中,而不是在图片中。帮助我们帮助你。正如我所写的,这个问题也需要方法是的,这不是一个格式良好的问题,但假设ASP标识有一个自定义字段,您可以通过以下方式检查它:var user=context.Users.FirstOrDefault(u=>u.UserName==myUserName)
然后检查您的自定义状态字段。发布代码比图片更有用。非常感谢Steve Greene检查自定义状态,我创建了这样的内容,如果(user.status==1){return redirect(“profile”)但是我的问题在account controlleri中如何实现这一点我在问题中提到了代码源,但我的问题是我把这个函数和开关结果放在哪里Teve Greene我真的非常感谢你我向几个人问了这个问题,但没有回复,任何人都帮助我你是唯一知道这个方法并帮助我打开这个解决方案的人nk you againNo担心。让我知道你有多远。上面的代码假设你有一个上下文,并且身份配置正确。Steve Greene我真的非常感谢你我向几个人询问了这个问题,但没有回复,任何人都帮助我你是唯一知道这个方法的人,帮我打开这个解决方案谢谢你againNo woRRES。让我知道你有多远。上面的代码假设你有一个上下文,并且正确配置了身份。