【发布时间】:2015-04-20 00:07:38
【问题描述】:
我正在构建一个 asp.net mvc 4 应用程序。我使用表单身份验证。我已经为用户设置了角色并验证了某些角色的控制器,但我试图弄清楚当他/她登录时如何重定向用户我只想将用户定向到某个区域?我认为这与帐户控制器上的登录操作有关。是否会在此处针对角色添加 switch 语句并在不同情况下重定向到操作?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4
我正在构建一个 asp.net mvc 4 应用程序。我使用表单身份验证。我已经为用户设置了角色并验证了某些角色的控制器,但我试图弄清楚当他/她登录时如何重定向用户我只想将用户定向到某个区域?我认为这与帐户控制器上的登录操作有关。是否会在此处针对角色添加 switch 语句并在不同情况下重定向到操作?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4
如果您在 Visual Studio 中使用默认的 MVC 项目,则已经存在重定向(到上一页):
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
//[RequireHttps]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
如果您希望它重定向到您自己的页面,只需将 return RedirectToLocal(returnurl) 替换为 return RedirectToAction("Index", "Home");,Index 是您的操作名称,Home 是您的控制器。
【讨论】: