`
anson2003
  • 浏览: 95288 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

登陆之后如何重新生产jsessionid

阅读更多
  • store the old session
  • invalidate the old session
  • generate a new session
  • copy the data of the old session into the new session

 

public class RenewSessionValve implements Valve{

 public void invoke(Request request, Response response)
    throws IOException, ServletException {

 	// check for the login URI, only after a login
	// we want to renew the session
	if (req.getRequestURI().
		contains("/portal/j_security_check")) {

 	  // step 1: save old session
	  Session oldSession = req.getSessionInternal(true);
	  SavedRequest saved = (SavedRequest) oldSession.
				getNote(Constants.FORM_REQUEST_NOTE);

	  // step 2: invalidate old session
	  req.getSession(true).invalidate();
	  req.setRequestedSessionId(null);
	  req.clearCookies();

	  // step 3: create a new session and set it to the request
	  Session newSession = req.getSessionInternal(true);
	  req.setRequestedSessionId(newSession.getId());

	  // step 4: copy data pointer from the old session
	  // to the new one
	  if (saved != null) {
	    newSession.setNote(Constants.FORM_REQUEST_NOTE, saved);
	  }

	}

 }

}

 

reference: http://www.koelnerwasser.de/?p=11

分享到:
评论

相关推荐

    android获取jsessionId和发送jsessionId

    在Android开发中,与服务器进行交互是常见的任务,而`jsessionId`是Web应用程序中用于跟踪用户会话的一种机制。本文将详细讲解如何在Android客户端获取`jsessionId`以及如何在后续请求中发送`jsessionId`,以保持...

    jsessionid存在的问题及其解决方案

    在Web开发中,`jsessionid`是一个常见的概念,它关联到Java服务器会话(Session)的管理。本文将深入探讨`jsessionid`存在的问题以及相应的解决方案,并结合提供的`DisableUrlSessionFilter.java`和`web.xml`文件来...

    tomcat修改jsessionid在cookie中的名称

    ### Tomcat中修改JSessionID在Cookie中的名称 在Tomcat服务器中,默认情况下,用于传递会话标识(即JSessionID)的Cookie名称为“JSESSIONID”。有时,出于安全考虑或其他需求,我们可能需要自定义这个名称。本文将...

    获取JsessionId

    重定义URL 使其直接进去网页 不用登录 用于:邮件链接直接进入网站

    UrlFilter过滤jsessionId

    ### UrlFilter过滤jsessionId知识点解析 #### 一、概述 在Java Web开发中,`jsessionId`是服务器为了区分不同的用户会话而分配的一个唯一标识符。它通常会被添加到URL中或者通过Cookie传递。然而,在某些情况下,...

    Set-Cookie: JSESSIONID=8AB51DC4244907FD9EBB063C7FD73CBA; Path=/; HttpOnly

    然而,这种处理办法治标不治本,当用户第一次访问的时候,Cookie 还是会记录原 Path 属性,之后的再次访问,属性会被容器置换。 2. 从容器本身解决 从容器本身解决的思路是通过配置容器的设置来处理问题。例如,...

    APIFox-自动获取登陆状态脚本

    作为纯后端开发码农,每次接口开发完的调试很重要,因此每次重复的手动获取登陆状态Token或者直接放行就太麻烦了。 APIFox提供了前置操作,可以很方便的自动获取登录状态,节省大量重复劳动时间。

    使用session保持登陆状态

    "使用session保持登陆状态"这个主题就是关于如何在用户成功登录后,通过服务器端的session技术来维持其在线状态,直到用户主动退出或者session过期。下面我们将深入探讨这个话题。 首先,我们了解什么是session。...

    CSDN爬虫(三)——网络爬虫模拟登陆两种策略

    我们将讨论两种常见的模拟登陆策略:基于表单提交的模拟登陆和基于Cookie的模拟登陆。 一、基于表单提交的模拟登陆 1. 分析登陆页面:首先,我们需要分析CSDN的登陆页面HTML源代码,找到用户名和密码输入框以及...

    httpclient4之百度模拟登陆,回复与58同城自动登陆

    本主题将深入探讨如何使用HttpClient4库进行百度和58同城的模拟登陆操作。HttpClient4是一个强大的Java库,它提供了丰富的功能来执行HTTP请求,非常适合进行网页交互。 首先,我们来了解HttpClient4的基本用法。...

    Java实现的单态登陆

    当用户成功登录后,服务器会在用户的HTTP会话中存储一个唯一的标识符,如JSESSIONID,用来跟踪用户的状态。 3. **跨域共享会话**: - 对于Web应用,我们可以使用Cookie或者JWT(JSON Web Tokens)来实现跨域共享...

    使用redis解决nginx+tomcat8负载均衡集群session共享问题jar包

    这里,`$cookie_JSESSIONID`表示根据用户cookie中的JSESSIONID来确定服务器,`consistent`则确保哈希算法的稳定性。 **session共享的优势** 1. **高可用性**: Redis提供了复制和哨兵监控等机制,增强了session数据...

    Spring Framework最新版本 spring-webmvc-5.2.9.RELEASE

    避免可能会绕过CVE-2015-5211对RFD攻击的保护,具体取决于通过使用jsessionid路径参数使用的浏览器。

    python 实现登录网页的操作方法

    有些网页需要你登录之后才...Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。 2、之后我们要获取到用户正常登录的c

    java 转换 IE JESSIONID

    源码中可能会包含如何从请求中提取JSESSIONID,如何在不同浏览器间转换,以及如何重新设置cookie的代码示例。 5. **工具支持**: - 在进行这类操作时,开发者工具是必不可少的。例如,Chrome的开发者工具可以查看...

    一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法

    如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时session丢失,需要重新登录A才可以访问。经过资料查找,发现问题是因为:IP相同认为是同一个域,接收了B...

    javaweb简单登陆注册案例

    这涉及到HTTP会话cookie或JSESSIONID。 7. **安全性**:密码存储应使用加密技术,例如哈希函数,确保即使数据库被泄露,用户密码也无法轻易被还原。 8. **异常处理**:程序中应包含适当的异常处理机制,以捕获和...

    CASClient集群环境的Session问题及解决方案.docx

    由于每个应用都有其自己的 JSESSIONIDCookie,因此无法在不同的应用之间共享 Session 信息。例如,用户首先访问 CAS Client 01,登录成功后,系统会将用户的 Session 信息存储在浏览器中的 Cookie 中。当用户访问 ...

    spring 登陆功能 小案例

    用户登录后,Spring Security会在用户的浏览器上设置一个JSESSIONID cookie。 9. **异常处理**: - 对于可能出现的异常,如用户名不存在或密码错误,可以定义全局的ExceptionHandler方法,返回定制的错误页面。 ...

    Nginx Tomcat 集群的Session 复制

    Nginx Tomcat 集群的Session 复制,解决了,集群情况下的session复制问题。

Global site tag (gtag.js) - Google Analytics