`
xo_tobacoo
  • 浏览: 392017 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

flex(替代session过期)用户长时间不操作要求重新登录的处理

阅读更多

在网上也看到一些方法,但效果不好。最近在

http://inflagrantedelicto.memoryspiral.com/2008/12/using-flexeventidle-to-determine-inactivity/comment-page-1/#comment-3654

见到了一个不错的方法。它利用了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呢?当然可以。不过我觉得这并不好。用户长时间不操作为防意外本来就需要重新登录。

分享到:
评论
3 楼 悦目娱心 2012-04-05  
这样确实可以解决问题
2 楼 jimymassacre 2011-11-30  
如果web和前台监听这个都设置成1分钟,用户在页面上一直移动鼠标但是不点击系统中任何一个操作,等一分钟过后点击就会出现session过期。该处理方式还是有问题。。。。
1 楼 nianshi 2010-12-23  
好               

相关推荐

    Flex做的登录表单

    Flex是由Adobe公司开发的一种用于构建富互联网应用程序(RIA)的框架...以上就是使用Flex构建登录表单涉及的主要知识点,从界面构建到功能实现,再到错误处理和用户体验优化,每个环节都体现了Flex的强大功能和灵活性。

    flex lcds 用户登录 代码

    标题中的“flex lcds 用户登录代码”涉及到的技术领域主要包括Flex技术、LCD屏幕显示以及用户登录系统的设计与实现。Flex是一种用于构建富互联网应用程序(RIA)的开放源代码框架,主要基于ActionScript和MXML,常...

    FLEX登录注册 例子

    - `UserLogin.mxml`:用户登录界面,包含了登录表单和相关的验证逻辑。 - `Farmer.mxml` 和 `Gardener.mxml`:可能是针对农场主和园丁的特定功能界面,比如信息管理或订单处理。 - `flex_src.ra_`:可能是Flex...

    flex操作数据库, flex操作本地sql数据库

    本篇文章将详细探讨Flex如何操作数据库,特别是针对本地SQL数据库的处理。 一、Flex与数据库连接 在Flex中,数据访问通常通过ADO.NET、Java的JDBC或Adobe LiveCycle Data Services (LCDS)等中间件进行。对于本地...

    FLEX时间轴代码

    在这个特定的FLEX时间轴代码中,用户可以通过拖动来浏览不同时间段,时间粒度设定为月份,这意味着用户可以逐月查看事件或数据的变化。 尽管该代码的功能尚未完全实现,但其基础操作已经具备,允许开发者对其进行...

    flex 3 基本操作帮助手册

    Flex 3 是 Adobe 开发的一款用于构建富互联网应用...无论你是打算开发富媒体网站、企业级应用还是移动应用,Flex 3的基本操作都是必不可少的基础。记得结合实际练习,理论与实践相结合,才能更好地掌握Flex 3的精髓。

    Flex时间选择组件

    Flex时间选择组件是一款在CSDN平台上下载并经过二次开发的时间选择工具,主要适用于Web应用程序,旨在提升用户体验,提供更加灵活、便捷的方式来选取和输入时间。这个组件可能基于ActionScript或者Flex技术,这两种...

    flex的ftp操作

    在Flex中实现FTP操作,主要是通过Flash Player的网络功能来与FTP服务器进行通信,允许用户上传、下载文件,管理远程服务器上的文件。 Flex FTP操作的关键知识点包括: 1. **FTP协议理解**:首先需要了解FTP的基本...

    Flex+Java登录实例完整框架 基于Flex框架

    Flex+Java登录实例完整框架是将 Adobe Flex 与 Java 技术结合,构建的一个功能完善的登录系统。这个框架主要用于创建富互联网应用程序(Rich Internet Applications,RIA),提供丰富的用户体验和强大的后端数据处理...

    flex+java+mysql登录

    在"flex+java+mysql登录"这个场景中,我们主要探讨的是如何使用Flex客户端与Java后台进行通信,以及通过Java处理数据库交互来实现用户登录功能。 1. Flex数据库操作:Flex中的数据访问通常通过 BlazeDS 或 LCDS ...

    flash flex 长连接

    flex flex flex flex flex flex flex

    flex .net互操作

    【Flex .NET 互操作】是指在Adobe Flex应用程序与Microsoft .NET框架之间进行通信和数据交换的技术。在Flex中创建的用户界面可以调用.NET编写的Web服务或直接与.NET应用进行交互,实现数据的加载和传输。这种互操作...

    flex 等待界面显示

    - **关闭按钮**:提供一个可选的关闭按钮,让用户在长时间等待后可以选择取消操作。 6. **响应式设计**: 考虑到不同设备的屏幕尺寸和分辨率,等待界面应该具有良好的响应性,适应不同环境。 7. **错误处理**: ...

    一个flex+java的登录实例完整版+flex框架

    本登录实例是一个完整的Flex与Java集成解决方案,它展示了如何在Flex前端实现用户界面和验证逻辑,以及如何与Java后台进行通信来完成登录功能。下面我们将深入探讨这个实例中的关键知识点: 1. **Flex框架**:Flex...

    flex登录页代码

    flex登录页代码

    Flex带时间的日期控件

    在Flex编程环境中,开发人员经常需要处理用户界面中的日期和时间选择,以便用户可以方便地输入或选择日期和时间。Flex带时间的日期控件就是为了解决这一需求而设计的,它允许用户同时选择日期和时间,提供了一种直观...

    AMFPHP与flex通讯

    3. **ActionScript编程**:在Flex中,我们需要编写ActionScript代码来处理用户交互,例如监听按钮点击事件,调用服务器上的聊天服务发送消息,以及接收新消息并更新UI。 4. **PHP后端服务**:在服务器端,通过...

    Flex AIR之旅--第六章 编写用户登录界面

    程序缘 Flex AIR之旅-第六章 编写用户登录界面,用于学习借鉴的Flex Air的工程源码,导入flash builder4.6即可。已实现一般C/S结构展现界面的实现,如菜单、快捷工具栏、主窗口等。

    基于FLEX技术的用户登录模块实例代码

    **基于FLex技术的用户登录模块** Flex是一种用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript编程语言和MXML标记语言。在本实例中,我们将深入探讨如何利用Flex技术创建一个用户登录模块。这个实例...

    flex时间控件

    4. 处理用户交互:通过ActionScript代码监听时间控件的事件,例如`change`事件,当用户选择新的日期和时间时执行相应的操作。 ```actionscript timePicker.addEventListener(Event.CHANGE, onTimeChanged); ...

Global site tag (gtag.js) - Google Analytics