/**
* 在从站为用户重建session,首先要判断是否要为用户重建session
* @param (HttpServletRequest)request
* @param (String)logFlag
* @return boolean 创建成功返回true,未创建返回false
* @author w47626
* @add date 2005-11-11
*/
private boolean rebuildSession(
HttpServletRequest request,
String logFlag) {
String uid = null; //主站登录用户id
String sid = null; //主站登录session id
String sip = null; //主站访问ip+端口
String logflag = logFlag;
HttpSession session = request.getSession(false);
boolean isRebuildSession = false;
UserInfoBean uiBean = null;
boolean isRebuildSuccess = false;
uid = getAttributeValue(request, LoginConstants.LOGIN_USER_ID, logflag);
sid =
getAttributeValue(
request,
LoginConstants.LOGIN_SESSION_ID,
logflag);
sip =
getAttributeValue(request, LoginConstants.LOGIN_SERVER_IP, logflag);
isRebuildSession = isCookieAvail(logflag, uid, sid, sip);
logger.info("isRebuildSession " + isRebuildSession);
if (isRebuildSession == true) {
if (session != null) {
session.invalidate();
}
UserManageDelegate umDelegate =
new UserManageDelegate(UserInfoBean.INTRANET_USER);
try {
uiBean = umDelegate.getUserInfo(uid);
logger.info("uiBean iS"+uiBean.getUid());
} catch (RemoteException re) {
logger.info("INTRANET_Common getUserInfo RemoteException in rebuildSession!");
re.printStackTrace();
} catch (UserManageException ue) {
logger.info( "INTRANET_Common getUserInfo UserManageException in rebuildSession!");
ue.printStackTrace();
}
if (uiBean != null) {
session = request.getSession(true);
session.setMaxInactiveInterval(2 * 60 * 60);
//session will inactive after 2 hours
session.setAttribute(LoginConstants.LOGIN_USERINFO, uiBean);
session.setAttribute(LoginConstants.LOGIN_USER_ID, uid);
}
}
logger.info(" isRebuildSuccess return " + isRebuildSession);
return isRebuildSession;
}
/**
* 判断是否用户正在使用工具进行下载
* @param (HttpServletRequest) request
* @param (String)encoded 从request中读取的头信息
* @return boolean
* @author w47626
* @add date 2005-11-11
*/
private boolean isUseTool(HttpServletRequest request, String encoded) {
boolean isusetool = false;
if (!(encoded == null || "null".equals(encoded))) {
//使用下载工具下载
isusetool = true;
} else {
//使用浏览器访问
isusetool = false;
}
return isusetool;
}
分享到:
相关推荐
方法一: 在后台应用程序中设置:Session.Timeout = 1; 注意:1、此方法可以设置在一个... 您可能感兴趣的文章:php 如何设置一个严格控制过期时间的sessionjava设置session过期时间的实现方法php中实现精确设置se
weblogic 如何设置session的超时时间
在php中设置session有很多方面包有给... 这项设置提供给我们可以给session存放目录进行多级散列,其中“N”表示要设置的目录级数,后面的“/path”表示session文件存放的根目录路径,比如我们设置为下面的格式,代码
在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了 1. web.config中设置Session过期时间方法, 2. II7.5 界面图形设置
设定tomcat中session过期时间的三种方式
大多数据情况下我们对于session过期时间使用的是默认设置的时间,而对于一些有特殊要求的情况下我们可以设置一下session过期时间。 对此,可以在PHP中,设置php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默认24...
在was集群中,通常需要设置session共享,按照文档步骤可以完成session共享设置,解决你应用中的问题
具体设置很简单: 在主页面或者公共页面中加入:session....这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
有时候在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了 超时时间 那么我们如何设置超时时间呢? 1.IIS图形界面设置 IIS6 在IIS里面...
如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改 时间设置要放在前面 例如 代码如下: Session.Timeout=30...
主要介绍了java设置session过期时间的实现方法,以实例形式详细讲述了具体实现过程,非常具有参考借鉴价值,需要的朋友可以参考下
通过设置session的生命周期来对session进行控制
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
session的超时时间设置 settings中 SESSION_COOKIE_AGE=60*30 30分钟。 SESSION_EXPIRE_AT_BROWSER_CLOSE False:会话cookie可以在用户浏览器中保持有效期。True:关闭浏览器,则Cookie失效。 SESSION_COOKIE_...
session设置超时时间,可以不用一直总是登录,在网页上操作更省心
JSP Session超时设置的实现方法 在Java Web开发中,Session为我们提供了很多方便,...设置Session超时时间方式: 方式一: 在web.xml中设置session-config如下: <session> <session>2</session> </session-
解决springboot实现跨域session共享问题,防止sql注入。可以更有效的解决token问题,欢迎下载,有问题可以再评论下方留言,及时解答!!加群:687942640
php中会话超时时间不易控制,多种因素影响导致随机性太大;文档介绍如果严格控制php中SESSION过期时间