flex(替代session过期)用户长时间不操作要求重新登录的处理
2010-09-06 09:35
274 查看
原文地址:http://www.397158.com/read.php?tid=3637
实现机制:利用FlexEvent.IDLE空闲事件,然后用mx_internal::idleCounter来获取空闲时间。
具体代码如下:
需要import:
import mx.managers.SystemManager;
import mx.events.FlexEvent;
import mx.core.mx_internal;由于要用到mx_internal命名空间里面的东西,所以需要
use namespace mx_internal;然后在页面载入时添加
this.systemManager.addEventListener(FlexEvent.IDLE, userIdle);将空闲事件FlexEvent.IDLE交给自定义的处理函数userIdle.
最后定义userIdle函数:
private function userIdle(e:FlexEvent):void {
if(e.currentTarget.mx_internal::idleCounter == 3000){
//进行登录超时处理!
}
}这里idleCounter的数值有点特别。只需要记住5分钟是3000(1分钟是600)就可以了。这样,如果要30分钟过期的话,就是18000;如果只是测试的话,可以设成30之类的:)
下面说几个常见的问题:
1.那么FlexEvent.IDLE到底有多灵敏呢?经过试验,只要鼠标发生移动flex就不认为是“闲置”的——也就是说,只用用户将电脑彻底放在那才会符合以上“用户不操作”的条件,正好符合我们的需要。
2.可不可以定时到服务器查询session呢?我觉得不可以。因为你到服务器查询HttpSession(或者BlazeDS的FlexSession)的时候也算一次交互:重新刷新Session的闲置时间。这样Session永远也不会过期。
3.可不可以在需要的时候到服务器查询Session呢?当然可以。不过我觉得这并不好。用户长时间不操作为防意外本来就需要重新登录。
实现机制:利用FlexEvent.IDLE空闲事件,然后用mx_internal::idleCounter来获取空闲时间。
具体代码如下:
需要import:
import mx.managers.SystemManager;
import mx.events.FlexEvent;
import mx.core.mx_internal;由于要用到mx_internal命名空间里面的东西,所以需要
use namespace mx_internal;然后在页面载入时添加
this.systemManager.addEventListener(FlexEvent.IDLE, userIdle);将空闲事件FlexEvent.IDLE交给自定义的处理函数userIdle.
最后定义userIdle函数:
private function userIdle(e:FlexEvent):void {
if(e.currentTarget.mx_internal::idleCounter == 3000){
//进行登录超时处理!
}
}这里idleCounter的数值有点特别。只需要记住5分钟是3000(1分钟是600)就可以了。这样,如果要30分钟过期的话,就是18000;如果只是测试的话,可以设成30之类的:)
下面说几个常见的问题:
1.那么FlexEvent.IDLE到底有多灵敏呢?经过试验,只要鼠标发生移动flex就不认为是“闲置”的——也就是说,只用用户将电脑彻底放在那才会符合以上“用户不操作”的条件,正好符合我们的需要。
2.可不可以定时到服务器查询session呢?我觉得不可以。因为你到服务器查询HttpSession(或者BlazeDS的FlexSession)的时候也算一次交互:重新刷新Session的闲置时间。这样Session永远也不会过期。
3.可不可以在需要的时候到服务器查询Session呢?当然可以。不过我觉得这并不好。用户长时间不操作为防意外本来就需要重新登录。
相关文章推荐
- flex(替代session过期)用户长时间不操作要求重新登录的处理
- flex(替代session过期)用户长时间不操作要求重新登录的处理
- Flex用户长时间不操作要求重新登录的处理
- session过期,处理ajax请求,使其重新登录
- 判断用户session 是否过期,如果过期,让用户重新登录
- 处理session过期(401)身份过期用户重新登陆的方法之重写ajax
- 定义filter对session过期用户重新登录
- 通过定时reload回发某页面请求 避免因用户一直不操作而引起的Session过期
- sys系统用户长时间未登录导致密码过期
- session 用户是否第一次登录及处理.txt
- session超时的处理(用于常用的用户登录部分)
- 使用filter使session失效的用户,重新跳转到登录页面
- 授权过期后AJAX操作跳转到登录页的一种全局处理方式
- Shiro中Session过期页面跳转回登录页面处理问题
- Android处理登录的session过期
- Shiro中Session过期页面跳转回登录页面处理问题
- 制作login.jsp页面,要求实现提供用户登陆的界面, 用户通过该界面输入用户名(控件名userName)和密码(控件名password), 然后点击“登录”按钮实现登陆操作.
- Shiro中Session过期页面跳转回登录页面处理问题
- phpcms v9用户注册登录 操作失败bug处理
- 利用okhttp框架实现包含验证码的用户登录,保持session操作(上)