现在是有这样的一个需求根据用户身份,一级用户的session有效期为10分钟,如果10分钟之间不进行任何操作的话,那么session就失效。非一级用户则的session则是永久有效。这个问题该如何解决???
解决方案 »
- 关于JSP中的字符串赋值和转义。
- 开发ASp用什么开发工具?
- 用jbuilder2006+weblogic8.1编译所有jsp页都说 URL: Unable to open location: Permission denied: connect是什么原因?
- 用static private定义一个类中的变量,子类可以访问这个变量吗?
- 问个小白问题,csdn上评论怎么插入的图片?
- 用过jspsmartupload的兄弟请进,搜索了不少,还是不行
- 程序运行问题
- 散分贴,终于到3个三角了,多谢给我分的兄弟。
- 通过浏览器向服务器端传送大文件有没有什么好的方案
- 本人要接开发电子政务的项目,请教大虾,开发电子政务管理系统都需要注意什么问题啊?
- struts2 标签 combobox
- java如何生成或者操作vf的fpt文件
支持这种方式 我用过 确定session是可以自定义时间的
你这个说的是在web.xml设置死的。按照楼主的需求,分别设置session周期肯定可以做到。
就在用户登陆成功后,根据角色分配每个session的时间,然后再把用户信息set到session中:
if(登陆ok){
HttpSession session = request.getSession();
session.setMaxInactiveInterval(10*60); // 10分钟 如果永不过期,那就设置为-1 session.setAttribute("user",user);
}
非一级用户页面不调用window.setInterval(fn , 60000).
public class OnlineUserListener implements HttpSessionListener {
protected final Log log = LogFactory.getLog(getClass());
public void sessionCreated(HttpSessionEvent event) {
} public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
// 取得登录的用户信息
SysUser user = (SysUser) session.getAttribute("sysUser");
//判断用户角色是否为管理员
if(user.getRole().getRoleId()!=1){
session.invalidate();
log.info(user.getRealName() + "超时退出。");
}
}}
if(登陆ok){
HttpSession session = request.getSession();
session.setMaxInactiveInterval(10*60); // 10分钟 如果永不过期,那就设置为-1 session.setAttribute("user",user);
}
这个是正解。
<session-timeout>480</session-timeout>
</session-config>
在web.xml里配置这个480你自己选择