如何从客户端脚本检测身份验证超时
how to detect authentication timeout from client script
我有一个使用表单身份验证的 ASP.NET 应用程序,超时设置为五分钟。 在我的页面上,我有一个按钮,单击该按钮时,会对位于我的 .svc 文件中命名的服务上的操作进行 AJAX 调用。 我如何从客户端 javascipt 知道应用程序已超时? 或者,我如何在全局中检测到这一点;也许在application_beginrequest?
如果您谈论的是会话超时。 发生这种情况时,IHttpSessionState.IsNewSession 属性应设置为 true。
如果您指的是身份验证超时,则必须检查身份验证票证是否过期。
方法的变体:有一个单独的客户端脚本,该脚本首先通过请求一个特殊的页面/处理程序来检查身份验证过期,该页面/处理程序返回 JSON 结构以指示当前用户的身份验证状态。只有在知道用户仍处于活动状态后,您才会运行主 ajax 操作。这是另一个请求,但可以防止您将超时逻辑与主 ajax 逻辑纠缠在一起。您还可以在"警告,您的会话将在 x 分钟后超时"弹出窗口中单独使用。
有关如何设置它的更多详细信息,请参阅此问题和我的回答,但关键点是,如果您不希望检查过期以延长滑动过期,则必须将过期页面/处理程序配置为单独的虚拟目录,并使用 slideingExexpration=false 设置表单身份验证。
相关文章:
- Sencha Touch和远程服务器上的身份验证
- Javascript清除缓存以清除基本身份验证凭据
- REST的面向公众的身份验证机制
- 当需要身份验证时,ui路由器不会重定向
- 使用Facebook登录,但仍然可以获得:“;此标识池不支持未经身份验证的访问“;
- AJAX HTTP基本身份验证解决方案
- 身份验证后获取Facebook图片
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- Twitter应用程序专用身份验证
- Passport.js成功的身份验证根本没有调用
- 通过JavaScript访问需要身份验证的页面
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用JavaScript捕获基本身份验证凭据
- javascript中的Spotify身份验证
- ServiceStack JavaScript服务器事件客户端的身份验证
- Twitter API 1.1无法对您2进行身份验证
- javascript api,用于在第三方域上存储身份验证令牌
- 实施Facebook's无用户身份验证的Graph API
- 如何从客户端脚本检测身份验证超时
- 流星:如何检测用户是否经过身份验证