Flex用户长时间不操作要求重新登录的处理

在你的init方法中加入如下代码

this.systemManager.addEventListener(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呢?当然可以。不过我觉得这并不好。用户长时间不操作为防意外本来就需要重新登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值