【问题标题】:Back button prevents page from authorizing user?后退按钮阻止页面授权用户?
【发布时间】:2013-06-17 23:12:48
【问题描述】:

在我的 MVC 4 应用程序中,我使用 BaseController 在我的任何其他控制器被击中时执行一些进程,其中一个是检查用户是否登录。

我注意到这是跨设计模式、框架和你有什么的常见问题。很遗憾,我找不到解决方案。

让我们保持简短和甜蜜:我们如何防止后退按钮允许未经授权访问我的 MVC 4 页面?

【问题讨论】:

    标签: c# asp.net-mvc web-applications authorization back


    【解决方案1】:

    一个可能的问题是页面在浏览器缓存中。考虑在页面初始化中添加一些反缓存代码。

     Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
     Response.Cache.SetNoStore();
    

    这里有一些其他问题以及一些实施选项。

    Disable browser cache for entire ASP.NET website

    How do I add site-wide no-cache headers to an MVC 3 app

    【讨论】:

    • 对于动态内容,我认为最好不要让浏览器缓存这些页面。我不知道您可以做些什么来清除注销时的缓存,因为浏览器会分别缓存每个资源(页面、css 等)。如果 url 被缓存在浏览器中,返回它将显示页面的先前状态,除非您执行刷新、清除缓存或使用一些查询字符串更改 url。
    【解决方案2】:

    你应该试试这个: https://stackoverflow.com/a/2969537/957921

    是关于在操作方法中添加一个属性以避免浏览器缓存。

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 2014-07-01
      • 2011-04-13
      • 2020-02-24
      • 1970-01-01
      • 2012-04-18
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多