Asp.net mvc 3 已登录Mvc3时在登录页面上重定向的问题

Asp.net mvc 3 已登录Mvc3时在登录页面上重定向的问题,asp.net-mvc-3,authorization,roles,Asp.net Mvc 3,Authorization,Roles,我很难解决这个问题。当我输入用户名和密码时,我总是在登录页面再次重定向。为什么会发生这种情况 这是我登录时的代码 客户控制员: [HttpPost] public ActionResult LogOn(LogOnModel model, string returnUrl) { if (ModelState.IsValid) { if (Membership.Valida

我很难解决这个问题。当我输入用户名和密码时,我总是在登录页面再次重定向。为什么会发生这种情况

这是我登录时的代码

客户控制员:

        [HttpPost]
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(model.UserName, model.Password))
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                    if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                        && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                    {
                        return Redirect(returnUrl);
                    }
                     if (Roles.IsUserInRole("Employer"))
                    {
                        return RedirectToAction("CustomerIndex", "Customer");
                    }
                     else if (Roles.IsUserInRole("Worker"))
                    {
                        return RedirectToAction("WorkerIndex", "Worker");
                    }
                     else if (Roles.IsUserInRole("Administrator"))
                     {
                         return RedirectToAction("ClientIndex", "Client");
                     }
                     else 
                     {
                         return View(model);
                     }

                }
                else
                {
                    ModelState.AddModelError("", "The user name or password provided is incorrect.");
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }

谢谢。对于那些愿意帮助的人:)

查看您的代码,有3种可能发生这种情况:

  • 模型验证失败->例如,用户未提供用户名
  • 用户提供了错误的凭据,ValidateUser方法返回false
  • 凭据验证成功,但用户未担任任何角色
    雇主
    工作者
    管理员

  • 在代码中设置断点,以查看哪种情况是您的情况,并相应地采取行动。

    查看您的代码,有3种可能发生这种情况:

  • 模型验证失败->例如,用户未提供用户名
  • 用户提供了错误的凭据,ValidateUser方法返回false
  • 凭据验证成功,但用户未担任任何角色
    雇主
    工作者
    管理员

  • 在代码中设置一个断点,以查看哪一个是您的情况,并相应地采取行动。

    我尝试设置一个断点,在登录时首先登录,然后单击控制器中的f10,它将在所有情况下运行。但当我第二次登录时,它会进入控制器以及该帐户的角色。mmmmi尝试设置一个断点,在第一次登录时,当我登录并单击控制器中的f10时,它会进入所有状态。但当我在第二秒登录时,它进入控制器,该帐户的角色是什么。mmmm