asp.net – 如何在会话超时或结束时注销用户
发布时间:2020-05-24 07:04:02 所属栏目:asp.Net 来源:互联网
导读:当会话结束或到期时,注销用户的最佳方式是什么? 感谢任何帮助. 它真的取决于您要查找的所需功能.我要假设你使用FormsAuthentication. 您需要关注两个独立的事项:会话和FormsAuthentication cookie.除非我错了,否则这两个都有不同的超时. 如果您遇到的问题是
|
当会话结束或到期时,注销用户的最佳方式是什么? 感谢任何帮助. 解决方法它真的取决于您要查找的所需功能.我要假设你使用FormsAuthentication.您需要关注两个独立的事项:会话和FormsAuthentication cookie.除非我错了,否则这两个都有不同的超时. 如果您遇到的问题是会话超时,但用户仍然进行身份验证,则可以尝试以下组合: 1:确保身份验证cookie与会话具有相同的超时值: <authentication mode="Forms"><forms ... timeout="20" ... ><authentication> <sessionState ... timeout="20" ... /> 2:在您的Page_Load事件中,检查会话是否超时: if (context.Session != null && Context.Session.IsNewSession == true &&
Page.Request.Headers["Cookie"] != null &&
Page.Request.Headers["Cookie"].IndexOf("ASP.NET_SessionId") >= 0)
{
// session has timed out,log out the user
if (Page.Request.IsAuthenticated)
{
FormsAuthentication.SignOut();
}
// redirect to timeout page
Page.Response.Redirect("/Timeout.aspx");
}
(有关检测会话超时的信息,请参见http://www.eggheadcafe.com/articles/20051228.asp) 如果您想要更愉悦的用户体验,您可以使用javascript在X分钟后启动某种模式的UI弹出窗口.这个弹出窗口将简单地允许用户启动按钮单击,这将触发服务器上的AJAX回发,从而扩展其身份验证和会话cookie,而无需重新加载页面.我从来没有实现过,但是看, this guy made an ASP.NET AJAX control ! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在ascx文件中使用if条件
- asp.net-mvc – Mvc3 Antiforgery令牌多标签
- asp.net-mvc – ASP.NET MVC3 IIS无法获取加载样式表
- asp.net-mvc – 加载符号时Visual Studio调试痛苦地慢
- asp.net – 从Web应用程序编辑MS Office文档:自定义WebDaV
- 存储ASP.NET会话变量的最佳解决方案是什么? StateServer还
- asp.net-mvc – 如何从ActionFilter访问ModelState?
- asp.net-mvc – 什么是ASP.NET MVC的验证选项
- asp-classic – Response.Write和%=%
- asp.net – WebApi:将参数映射到标头值
推荐文章
站长推荐
- asp.net – 如何从TableAdapter中检索存储过程返
- asp.net-mvc-4 – 用于空响应的ASP.NET Web API和
- asp.net – 为什么使用隐藏的字段?
- asp.net-mvc – 使用ASP.NET MVC 2 AsyncControl
- 如何使用asp.net和c#流式传输Excel 2007或Word 2
- ASP.NET MVC 3中的当前年份
- asp.net-mvc-4 – 如果使用实体连接字符串(与SQL
- asp.net-mvc – User.IsInRole不起作用
- asp.net – MS Chart for .NET预定义调色板颜色列
- asp.net – 使用MVC4的Autofac:控制器没有默认构
热点阅读
