asp.net – 我如何使用AJAX来确定用户的会话是否已过期,然后将其返回到登录页面?
在下面的scenaio中,如何使用 AJAX检查会话是否仍处于活动状态,然后将用户返回到登录页面? >用户登录并开始工作 理想情况下,我所追求的是每1分钟检查会话状态以查看用户是否空闲的某种方式.如果它们处于空闲状态且会话即将到期,我会暂时保存更改,然后当会话到期时,我会在用户从空闲状态返回之前自动将页面更改为登录屏幕. 是否也可以在不使用setTimeOut()的情况下执行此操作? 解决方法大多数,如果这可以在服务器端处理.每当有服务器端用户活动 – 页面加载,ajax调用,无论如何,设置会话变量 Session["last_activty"]=DateTime.Now; 在您的AJAX调用和页面加载中(可以在需要身份验证的页面的母版页/嵌套母版页中执行此操作),检查(伪代码) if (DateTime.Now-DateTime.Parse(Session["last_activity"]) > 10 minutes) Session["logged_in"]=false; 如果页面加载或webmethod / webservice方法基于以上内容确定用户已超时,则 a)重定向到登录页面(服务器端),或 b)将状态代码返回给ajax调用者,这将导致重定向或显示登录对话框. 注意:注意使用真实会话变量,因为它们往往在群集服务器环境中不能正常工作.这种类型的东西更适合你的数据库. table Users .ID .last_activity datetime .logged_in - calculated column which returns if GetDate()-LastActivity > 10 minutes. (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用Viewbag绑定DropdownlistFor
- webforms – ASP.Net Core 1.0是否支持WebForm项目
- asp.net-mvc – Url.RouteUrl返回null
- asp.net-mvc – .Net 4.5.1框架的maxRequestLength
- kendo-ui – 剑道网格刷新(数据绑定两次)
- asp.net-mvc-3 – 如何关闭我的整个ASP.NET MVC 3网站的缓存
- asp.net-mvc-4 – 在EF迁移配置类的Seed方法中获取App_Data
- asp.net-mvc-4 – 在哪里可以找到WebMatrix.WebData.WebSec
- ASP.NET成员资格 – 让用户使用以前的密码
- asp.net-web-api – 在WebApi OData中为OData服务文档基URL
- asp.net – 为什么HttpContext.Current.User.Ide
- asp.net-mvc – ASP.Net MVC中的自我AJAX更新部分
- ASP.NET Core 1.0 ConfigurationBuilder().AddJs
- asp.net – 为不同项目中的所有Web应用程序网页添
- asp.net-mvc – 为什么MVC4捆绑捆绑Knockout.js?
- asp.net-mvc – ASP.NET MVC/C++#:可以使用Html
- asp.net – ASP:ItemTemplate中的DropDownList:
- ASP.NET代码隐藏中的当前工作目录 – 我们可以依
- asp.net – (客户端)禁用提交按钮的最佳方法是什
- asp.net – Html.Partial()跳过控制器动作