在每个页面上实施注销

时间:2017-03-23 12:11:28

标签: c# asp.net-mvc web logout

我想在我的网页的每个视图上实施注销选项。为此,我将 null 分配给我的会话变量。并删除缓存中的数据。但我研究过从缓存中删除数据会在Web服务器上添加一些额外的负担,因为没有数据存储在缓存中...... 那么,什么可以替代这个问题。

1 个答案:

答案 0 :(得分:0)

创建 _Layout页面并保留您的登录/注册/注销。您可以通过创建默认Web MVC应用程序进行检查,并查看每个页面中登录/注册/注销的呈现方式。

使用java脚本清理缓存有很多种方法。 我喜欢这样,

<script>
 function ClearHistory()
  {
    var backlen = history.length;
    history.go(-backlen);
    window.location.href = loggedOutPageUrl //Pass your Index Page
  }
</script>

或者最简单的方法就是清除LogOff()方法中的缓存,就像下面一样,

{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
return RedirectToAction("Login");
}

请检查此Link有多种方法可以清除缓存,因此退出后后退按钮将无效。