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'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