asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
来源:互联网 发布:陈一发 整容 知乎 编辑:程序博客网 时间:2024/05/18 01:36
退出登陆是再常见不过的了,先清除Session,再转到登陆页面
复制代码代码如下:
Session.Abandon();
Response.Redirect("Login.aspx");
但是这样点点击浏览器的后退仍然可以回到刚才的页面,这可不行,在网上找了一下,也有不少人遇到这样的问题,试了一些方法,都不管用。不过最后还是找到,共享一下。
http://blog.csdn.net/lhypang2006/archive/2008/03/11/2170751.aspx
复制代码代码如下:
Session.Abandon();
Response.Write("<script>window.location.href='Login.aspx'</script>");
很简单,就是把Response.Redirect改为Response.Write,输出脚本,实现跳转。
再共享一个,也是关于退出的。
妙用Asp.Net中的HttpHandler
上面的方法我觉得很好,写一个类继承IHttpHandler
复制代码代码如下:
public class LogoutHttpHandler : IHttpHandler
{
/// <summary>
/// 通过实现 IHttpHandler 接口的自定义 HttpHandler 启用 HTTP Web 请求的处理。
/// </summary>
/// <param name="context">HttpContext 对象,它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Request、Response、Session 和 Server)的引用。 </param>
public void ProcessRequest (HttpContext context)
{
FormsAuthentication.SignOut();
context.Response.Redirect("Login.aspx",true);
}
再修改web.config,在<system.web></system.web>中增加如下脚本:
复制代码代码如下:
<httpHandlers>
<add verb="GET" path="Logout.aspx" type="LogoutHttpHandler" />
</httpHandlers>
文章中把类编译成了dll,也可以只在App_Code中添加这样的类就好了。
还有上面的ProcessRequest 并没有清除Session。而且也是用Response.Redirect,点击后退也是可以回到原来的页面的。我改了一下
复制代码代码如下:
public class LogoutHttpHandler : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
//FormsAuthentication.SignOut();//这样可以不用
context.Session.Abandon();
context.Response.Write("<script>window.location.href='Login.aspx'</script>");
}
}
这样不用再加一个页面Logout.aspx,退出的代码也简单。
复制代码代码如下:
protected void Exit_Click(object sender, EventArgs e)
{
Response.Redirect("Logout.aspx");
}
0 0
- asp.net退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
- asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
- asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
- asp.net 退出登陆(解决退出后点击浏览器后退仍然可回到页面问题)
- 关于用户退出,点击浏览器后退仍可回到原来页面解决
- 关于用户退出,点击浏览器后退仍可回到原来页面
- 解决web应用用户退出系统后浏览器后退问题
- 解决web应用用户退出系统后浏览器后退问题
- 解决:在点击用户退出登录时,再按浏览器的后退按钮,仍然能够看到之前的页面
- asp.net用FileUpload多次上传图片,点击浏览器后退退出当前页面,不重复提交
- asp.net浏览器后退回到原来页面解决
- 用户登陆后怎样防止用户用浏览器的后退按钮退出登陆后的页面 ?
- 退出后点击浏览器后退不能回到成功页面;直接进入页面和跳转进入页面样式不同;防止直接输入页面地址或servlet;当servlet跳servlet时,进行其他操作后后退出现错误!
- 用户退出后点击浏览器后退按钮失效
- 解决PHP用户登陆后无法退出问题的办法
- ASP.NET 退出后退问题解决
- 网站安全退出后,再点击浏览器后退按钮不能返回前一个页面的笨办法
- asp.net网站后台退出后,点后退按钮仍能进,如何安全退出
- POJ1995 Raising Modulo Numbers 快速幂
- Linux进程间的通信-基于无序文件
- 华为-将无符号的指定bite位置1
- 截取txt文件中的第1623行到第1648行之间的文字
- #pragma init_seg使特定的全局变量优先于其他的全局变量先构造
- asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
- 有了Docker,一分钟就可以在你的笔记本上快速部署Spark集群
- Windows 运行机制
- poj1067
- hud 4740 The Donkey of Gui Zhou(深搜DFS)
- JMS的例子
- hdu 1257 最少拦截系统
- Solaris下如何修改文件创建时间及查询
- 网络爬虫教程(1)