最近研究WEB页面锁屏,发现一个方法就是去后台验证session的LastAccessedTime和当前时间比较是否超过最大的约束。但是关键是每次去验证LastAccessedTime后会发现LastAccessedTime修改成当前时间了。就是说每次的AJAX验证都会激活LastAccessedTime更新,这样反而达不到超时锁屏的目的了。
看了Tomcat的源代码发现我们的sessaion的实例都是StandardSessionFacade,而StandardSessionFacade里面的真正的seesion实例是StandardSession,他的LastAccessedTime是保护私有与,没有显示的set方法,无奈只能霸王硬上弓了,反射修改吧。
[code="java"]
public static void keepSessionLastAccessTime(StandardSessionFacade session)
{
try
{
long oldTime = session.getLastAccessedTime();
Field field = StandardSessionFacade.class.getDeclaredField("session");
boolean old1 = field.isAccessible();
field.setAccessible(true);
StandardSession ss = (StandardSession)field.get(session);
Field thisAT = StandardSession.class.getDeclaredField("thisAccessedTime");
boolean old2 = thisAT.isAccessible();
thisAT.setAccessible(true);
thisAT.setLong(ss, oldTime);
// 访问限制倒回
field.setAccessible(old1);
thisAT.setAccessible(old2);
}
catch (SecurityException e)
{
e.printStackTrace();
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
catch (Throwable e)
{
e.printStackTrace();
}
}
[/code]
分享到:
相关推荐
关于tomcat 的ssl配置,
关于tomcat集群部署总结
Glassfish中关于tomcat介绍 Glassfish中关于tomcat介绍 Glassfish中关于tomcat介绍 Glassfish中关于tomcat介绍
tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat最新客户端tomcat...
内含tomcat7 tomcat8 tomcat9免安装版本;供需要的人下载。
包含tomcat7,tomcat8,tomcat9,解压、在eclipse配置好即可。
tomcat ,对JSP开发中容易出现的一些错误的总结,有出现错误的截图以及解决方法,包括了jsp页面的一些常见错误,控制台出现的错误,中文乱码处理、日期格式转换以及一些批量删除等小功能的实现方法等等,并有关于...
FineReport关于tomcat集群部署的方案.docx
搭建的tomcat服务器应该怎样的简单优化呢?
tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本下载tomcat8.0版本...
tomcat6、tomcat7、tocmat8、tomcat9 linux版、windox版 32位 64位
tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0tomcat 5.0
安全加固Tomca漏洞,禁用AJP接口。
Tomcat Tomcat Tomcat Tomcat
apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-...
关于Tomcat连接池的配置方法
Apache Tomcat 软件是Jakarta Servlet、 Jakarta Server Pages、 Jakarta Expression Language、 Jakarta WebSocket、 Jakarta Annotations和 Jakarta Authentication 规范的开源实现 。 压缩包内容: apache-...
tomcat的配置tomcat的配置tomcat的配置
开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-...
tomcat8资源下载链接tomcat8tomcat8资源下载链接tomcat8tomcat8资源下载链接tomcat8tomcat8资源下载链接tomcat8