设置表单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();
}
答案 0 :(得分:0)
您没有调用return Redirect(...
因此操作不会返回,但会再次呈现登录视图!卫生署。