我正在处理我的应用程序的日志模块,如果同一用户在另一台PC上登录(关闭旧会话),我需要它关闭会话。该部分有效但当我从我的过滤器重定向到注销视图时,注销视图使用布局,并且该布局在if:
中有一个菜单 @if (Context.User.Identity.IsAuthenticated)
{
<nav>
<div>
@Html.Action("_menu", "Menu")
</div>
</nav>
}
所以我希望在没有菜单的情况下加载注销视图,但是当我运行应用程序时,菜单就在那里,直到刷新页面发生,然后菜单就消失了。
我的注销方法:
public ActionResult LogOff()
{
FormsAuthentication.SignOut();
HttpCookie cookie = new HttpCookie("sid")
{
Expires = DateTime.Now.AddDays(-10) // Eliminar la cookie
};
HttpContext.Response.Cookies.Set(cookie);
if (HttpContext.Session["errorMsg"] == null)//salida normal?
{
return RedirectToAction("LogOn", "Account");
}
else//no
{
//Session.Abandon();
ViewBag.error = HttpContext.Session["errorMsg"];
Session.Abandon();
return View();
}
}