1

我有一个登录页面和一个主页。用户可以使用用户名和密码从登录页面登录到主页。我想要实现的是:

1) 用户从主页注销时,不应通过点击浏览器中的后退前进按钮“登录”。

2)确定浏览器会存储主页的历史记录。但是当用户点击浏览器主页中的历史链接时,它应该被重定向到登录页面而不是主页。

我尝试在主页的 page_load 事件中使用以下代码清除缓存:

HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));

但它仍然无法正常工作。任何形式的帮助都将受到高度赞赏。

4

4 回答 4

0

在主页的 OnPrerender() 事件中使用以下代码。它对我有用。

  protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            string sb;
            sb = "<script language=javascript>\n";
            sb += "window.history.forward(1);\n";
            sb += "\n</script>";
            ClientScript.RegisterClientScriptBlock(Page.GetType(), "clientScript", sb);
        }
于 2012-12-28T09:58:57.763 回答
-1

您如何存储登录信息?如果您正在使用会话变量,您可以在用户注销时清除会话,然后在需要让用户登录以查看的每个页面上检查以确保页面加载中存在会话变量,如果确实如此,则让用户继续,如果没有重定向到登录页面(您可以使用母版页快速完成此操作)

如果您使用 cookie 来存储登录信息,那么您可以在用户注销时使 cookie 过期

于 2012-10-01T10:23:40.783 回答
-1

当用户登录时,保留他的用户 ID 或用户拥有的任何唯一 ID。当他单击注销时,取消设置用户 ID 会话。并在页面中添加几行

<?php
session_start();
$_SESSION['uid']=$uid;
if($uid=='')
{
header("location:loginpage.php");
}
?>

它会工作的。

于 2012-10-01T10:46:31.210 回答
-1

我有解决方案请在下面找到链接

希望你能得到你的答案

堆栈溢出

或者

也可以从此DotnetFundaa 中找到

在下面的页面加载放置代码

    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetExpires(DateTime.Now);
于 2012-10-01T10:29:44.933 回答