ASP.NET MVC:在SetAuthCookie再次重定向到登录页面后重定向

时间:2014-08-13 18:07:59

标签: asp.net asp.net-mvc authentication forms-authentication

Q / A - 我今天遇到的问题。

设置表单cookie并重定向后,再次加载登录页面。但是,如果我忽略第二个登录页面并只是转到“授权屏障后面”的URL,它会呈现,因此cookie已经起作用。它似乎只需要两个“坚持”的请求。为什么呢?

代码:

    [HttpPost]
    public ActionResult TempLogin(Models.Authentication.SimpleLoginModel loginModel, string returnUrl)
    {
        if (this.ModelState.IsValid)
        {
            if (this.ValidateTempSecret(loginModel.Secret))
            {
                FormsAuthentication.SetAuthCookie("tempuser", false);

                if (returnUrl.IsNotNullOrWhitespace())
                {
                    Redirect(returnUrl);
                }                    
                else
                {
                    Redirect(FormsAuthentication.DefaultUrl);
                }
            }
            else
            {
                this.ModelState.AddModelError("secret", "The password is incorrect.");
            }
        }

        return View();            
    }

1 个答案:

答案 0 :(得分:0)

您没有调用return Redirect(...因此操作不会返回,但会再次呈现登录视图!卫生署。