You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2011/04/29 19:49:38 UTC

svn commit: r1097899 - in /tomcat/trunk: java/org/apache/catalina/Context.java java/org/apache/catalina/session/ManagerBase.java webapps/docs/changelog.xml

Author: markt
Date: Fri Apr 29 17:49:37 2011
New Revision: 1097899

URL: http://svn.apache.org/viewvc?rev=1097899&view=rev
Log:
Expose a container event for changing the session ID

Modified:
    tomcat/trunk/java/org/apache/catalina/Context.java
    tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/Context.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1097899&r1=1097898&r2=1097899&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Context.java Fri Apr 29 17:49:37 2011
@@ -87,6 +87,11 @@ public interface Context extends Contain
      */
     public static final String  CLEAR_WELCOME_FILES_EVENT = "clearWelcomeFiles";
 
+    /**
+     * Container event for changing the ID of a session.
+     */
+    public static final String CHANGE_SESSION_ID_EVENT = "changeSessionId";
+
     // ------------------------------------------------------------- Properties
 
     /**

Modified: tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java?rev=1097899&r1=1097898&r2=1097899&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java Fri Apr 29 17:49:37 2011
@@ -768,7 +768,11 @@ public abstract class ManagerBase extend
      */
     @Override
     public void changeSessionId(Session session) {
+        String oldId = session.getIdInternal();
         session.setId(generateSessionId(), false);
+        String newId = session.getIdInternal();
+        container.fireContainerEvent(Context.CHANGE_SESSION_ID_EVENT,
+                new String[] {oldId, newId});
     }
     
     

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1097899&r1=1097898&r2=1097899&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Apr 29 17:49:37 2011
@@ -90,6 +90,10 @@
         Ensure response is committed when <code>AsyncContext#complete()</code>
         is called. (markt)
       </fix>
+      <add>
+        Add a container event that is fired when a session&apos;s ID is changed,
+        e.g. on authentication. (markt)
+      </add>
     </changelog>
   </subsection>
   <subsection name="Coyote">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org