Blazeds Session timeout

注释:以下代码是针对自己的平台而写的(对flex+java做了封装),现给我的思路。

flex前段监听FaultEvent事件

//调用存储过程 
		public function getCall(procedureName:String, param:Object, resultHandler:Function, faultHandler:Function=null):void {
			if (resultHandler != null)
				ro.getCall.addEventListener(ResultEvent.RESULT, resultHandler);
			if (faultHandler != null){
				ro.getCall.addEventListener(FaultEvent.FAULT, create(checkSession,faultHandler));
			}
			ro.getCall(procedureName,param);
		}
		//验证用户的session是否过期
		public function checkSession(event:FaultEvent,faultHandler:Function):void{
			var errorMessage:ErrorMessage=event.message as ErrorMessage;
			if(errorMessage&&errorMessage.rootCause){
				var errorStr:String=errorMessage.rootCause.message;
				if(errorStr.indexOf("Session失效")!=-1){
					AlertTip.show("Session失效,重新登录!",2000,true,{width:220,height:120,style:"AlertTip"});
					var timer:Timer = new Timer(2000, 1);
    				timer.addEventListener(TimerEvent.TIMER, gotoLogin);
    				timer.start();
					return ;
				}
			}
			faultHandler(event);
		}

 java端在添加日志的时候对Session进行判断

FlexSession session=FlexContext.getFlexSession();
			if(session==null){
				throw new Exception("Session失效,请重新登录");
			}
			if(session.getAttribute("user_id")==null){
				throw new Exception("Session失效,得不到用户的SessionId");
			}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值