You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@locus.apache.org on 2000/08/05 03:42:20 UTC
cvs commit: jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core StandardContext.java
craigmcc 00/08/04 18:42:20
Modified: proposals/catalina/docs/config context.html
proposals/catalina/src/share/org/apache/tomcat Context.java
proposals/catalina/src/share/org/apache/tomcat/connector
HttpResponseBase.java
proposals/catalina/src/share/org/apache/tomcat/core
StandardContext.java
Log:
Make it possible to disable the use of cookies for session ids, by
using 'cookies="false"' on the <Context> element in server.xml. The
default value is "true".
Revision Changes Path
1.3 +11 -0 jakarta-tomcat/proposals/catalina/docs/config/context.html
Index: context.html
===================================================================
RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/docs/config/context.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- context.html 2000/06/12 01:33:37 1.2
+++ context.html 2000/08/05 01:42:16 1.3
@@ -68,6 +68,17 @@
</tr>
<tr>
+ <td><code>cookies</code></td>
+ <td>
+ Set to <code>true</code> if you want cookies to be used for session
+ identifier communication (if supported by the client). Set to
+ <code>false</code> if you want to skip even trying session id cookies,
+ and rely only on URL rewriting. If not specified, the default value is
+ <code>true</code>.
+ </td>
+ </tr>
+
+ <tr>
<td><code>docBase</code></td>
<td>
The "document base" directory for this web application. This is the
1.14 +18 -4 jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Context.java
Index: Context.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Context.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Context.java 2000/08/03 21:59:28 1.13
+++ Context.java 2000/08/05 01:42:17 1.14
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Context.java,v 1.13 2000/08/03 21:59:28 craigmcc Exp $
- * $Revision: 1.13 $
- * $Date: 2000/08/03 21:59:28 $
+ * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Context.java,v 1.14 2000/08/05 01:42:17 craigmcc Exp $
+ * $Revision: 1.14 $
+ * $Date: 2000/08/05 01:42:17 $
*
* ====================================================================
*
@@ -91,13 +91,27 @@
* <p>
*
* @author Craig R. McClanahan
- * @version $Revision: 1.13 $ $Date: 2000/08/03 21:59:28 $
+ * @version $Revision: 1.14 $ $Date: 2000/08/05 01:42:17 $
*/
public interface Context extends Container {
// ------------------------------------------------------------- Properties
+
+
+ /**
+ * Return the "use cookies for session ids" flag.
+ */
+ public boolean getCookies();
+
+
+ /**
+ * Set the "use cookies for session ids" flag.
+ *
+ * @param cookies The new flag
+ */
+ public void setCookies(boolean cookies);
/**
1.16 +6 -5 jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/HttpResponseBase.java
Index: HttpResponseBase.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/HttpResponseBase.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- HttpResponseBase.java 2000/07/30 00:43:24 1.15
+++ HttpResponseBase.java 2000/08/05 01:42:17 1.16
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/HttpResponseBase.java,v 1.15 2000/07/30 00:43:24 craigmcc Exp $
- * $Revision: 1.15 $
- * $Date: 2000/07/30 00:43:24 $
+ * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/HttpResponseBase.java,v 1.16 2000/08/05 01:42:17 craigmcc Exp $
+ * $Revision: 1.16 $
+ * $Date: 2000/08/05 01:42:17 $
*
* ====================================================================
*
@@ -94,7 +94,7 @@
* methods need to be implemented.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.15 $ $Date: 2000/07/30 00:43:24 $
+ * @version $Revision: 1.16 $ $Date: 2000/08/05 01:42:17 $
*/
public class HttpResponseBase
@@ -475,7 +475,8 @@
HttpServletRequest hreq = (HttpServletRequest) request.getRequest();
HttpSession session = hreq.getSession(false);
- if ((session != null) && session.isNew()) {
+ if ((session != null) && session.isNew() &&
+ getContext().getCookies()) {
Cookie cookie = new Cookie(Constants.SessionCookie,
session.getId());
cookie.setMaxAge(-1);
1.26 +36 -4 jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardContext.java
Index: StandardContext.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardContext.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- StandardContext.java 2000/08/04 00:52:33 1.25
+++ StandardContext.java 2000/08/05 01:42:19 1.26
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardContext.java,v 1.25 2000/08/04 00:52:33 craigmcc Exp $
- * $Revision: 1.25 $
- * $Date: 2000/08/04 00:52:33 $
+ * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardContext.java,v 1.26 2000/08/05 01:42:19 craigmcc Exp $
+ * $Revision: 1.26 $
+ * $Date: 2000/08/05 01:42:19 $
*
* ====================================================================
*
@@ -100,7 +100,7 @@
* requests directed to a particular servlet.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.25 $ $Date: 2000/08/04 00:52:33 $
+ * @version $Revision: 1.26 $ $Date: 2000/08/05 01:42:19 $
*/
public final class StandardContext
@@ -138,6 +138,12 @@
/**
+ * Should we attempt to use cookies for session id communication?
+ */
+ private boolean cookies = true;
+
+
+ /**
* The distributable flag for this web application.
*/
private boolean distributable = false;
@@ -299,6 +305,32 @@
// ------------------------------------------------------------- Properties
+
+
+ /**
+ * Return the "use cookies for session ids" flag.
+ */
+ public boolean getCookies() {
+
+ return (this.cookies);
+
+ }
+
+
+ /**
+ * Set the "use cookies for session ids" flag.
+ *
+ * @param cookies The new flag
+ */
+ public void setCookies(boolean cookies) {
+
+ boolean oldCookies = this.cookies;
+ this.cookies = cookies;
+ support.firePropertyChange("cookies",
+ new Boolean(oldCookies),
+ new Boolean(this.cookies));
+
+ }
/**