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