代码之家  ›  专栏  ›  技术社区  ›  Arthur Frankel

在C/ASP.NET中注销(Session.about)后禁用对页面的访问

  •  0
  • Arthur Frankel  · 技术社区  · 14 年前

    --无后退按钮

    --无法通过URL直接访问页面-例如:如果用户注销,则不应允许他们看到使用某个URL的缓存页面(例如,用站点中的有效URL替换该URL) http://mysite.com/Gotothispage.aspx

    How to disable the back button in browser when user logout in asp.net c#

    我知道我不能在母版页上设置缓存,但是当用户实际登录时,我就失去了使用back按钮的能力。我的理解正确吗?

    3 回复  |  直到 8 年前
        1
  •  2
  •   Coding Flow    14 年前

        2
  •  0
  •   Damien Dennehy    14 年前

    然后我就失去了使用 当用户实际 理解?

    不完全-在使用POST提交但不使用GET的页面上使用back按钮会有问题。

    一个简单的例子是想象一个ASP.NET页面有一个分页的Gridview—用户单击页面1、2、3、4、5等来浏览网格。

        3
  •  0
  •   Ed B    14 年前

    如果安全设置正确,则注销后应已禁用页面。

    如果您有一个专门为登录的用户设置的母版页或基页类,您应该检查他们是否有您在登录时设置的sessionId。

    用户可能会看到页面的缓存版本,但无法对其执行任何操作。

    在成员的basepage类中,我检查他们是否在OnInit事件中登录:

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
    
        if (!IsLoggedIn)
        {
            Response.Redirect("default.aspx");
        }
    }
    

    编辑:

    因此,当用户点击后退按钮时,它会将他们带到炼狱页面,然后直接将他们带回到原来的位置。

    Gmail做到了这一点,但有时它太快了,你看不出来。