1

我正在为我的应用程序开发一个日志模块,如果同一用户在另一台 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(); 
        }
    }
4

0 回答 0