我正在开发一个asp.net网站&我没有使用asp.net的内置身份验证控件。“返回” - 浏览器不能进入前一页 - 退出后
我已经为网站的用户手动创建了表。
我要的是如下
- 用户可以访问的页面登录后(即已经完成)
- 当用户按注销。 (用户转到特定页面 - 示例 - default.aspx)
- **现在,当用户按浏览器的“返回”按钮时它不能转到上一页。 ** (即在雅虎页面中完成 - 我想实现相同)。
请通知我是否它是重复问题。
在此先感谢您的帮助。
萨加尔。
我正在开发一个asp.net网站&我没有使用asp.net的内置身份验证控件。“返回” - 浏览器不能进入前一页 - 退出后
我已经为网站的用户手动创建了表。
我要的是如下
请通知我是否它是重复问题。
在此先感谢您的帮助。
萨加尔。
要在按下后退按钮时,为防止用户看到以前的页面,你需要不指示浏览器缓存此页:
Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
你可以把这个代码在所有的认证页面,从而防止它们在客户端浏览器上缓存。
对于一个不被缓存的页面,浏览器需要对缓存指令作出适当的响应,但不能保证这将适用于每个浏览器! (一个适当的邪恶的人可以编写他们自己的浏览器来忽略缓存信息,或者写一个代理去除它...)
所以你不能让这个工作100%的时间,但你总是要面对一个问题,一个用户可以轻松地截图,打印出一个页面,在他们的磁盘上保存一份副本等等,无论如何,一旦你已经给他们一个页面...
你的答案问题是:
用于当用户按退出。 (用户转到特定页面 - example - default.aspx) 您可以添加LinkButton作为退出链接,并在Click事件处理程序中编写 Response.Redirect(“Default.aspx”);
的现在,当用户按下“返回”浏览器的按钮,它不能返回上一页 //添加以下代码到你的代码的页面
保护覆盖无效的OnPreRender(EventArgs的五)
的背后{
base.OnPreRender(e);
string strDisAbleBackButton;
strDisAbleBackButton = "<script language="javascript">\n";
strDisAbleBackButton += "window.history.forward(1);\n";
strDisAbleBackButton += "\n</script>";
ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "clientScript", strDisAbleBackButton);
}
指csharpdotnetfreak.blogspot.com
是的。正确和短的解决方案。很棒的一个。你很优秀” – 2009-12-26 18:13:12