You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2009/08/24 15:50:56 UTC
svn commit: r807218 -
/geronimo/server/branches/2.2/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/listener/DispatchListener.java
Author: xuhaihong
Date: Mon Aug 24 13:50:56 2009
New Revision: 807218
URL: http://svn.apache.org/viewvc?rev=807218&view=rev
Log:
GERONIMO-4811 The new PolicyContext is not set while forwarding to another web application
Modified:
geronimo/server/branches/2.2/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/listener/DispatchListener.java
Modified: geronimo/server/branches/2.2/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/listener/DispatchListener.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.2/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/listener/DispatchListener.java?rev=807218&r1=807217&r2=807218&view=diff
==============================================================================
--- geronimo/server/branches/2.2/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/listener/DispatchListener.java (original)
+++ geronimo/server/branches/2.2/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/listener/DispatchListener.java Mon Aug 24 13:50:56 2009
@@ -18,6 +18,7 @@
import java.util.Stack;
+import javax.security.jacc.PolicyContext;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -45,6 +46,7 @@
}
};
+
public void instanceEvent(InstanceEvent event) {
if (event.getType().equals(InstanceEvent.BEFORE_DISPATCH_EVENT)) {
@@ -67,10 +69,13 @@
BeforeAfter beforeAfter = webContext.getBeforeAfter();
if (beforeAfter != null) {
Stack<Object[]> stack = currentContext.get();
- Object context[] = new Object[webContext.getContextCount() + 1];
+ Object context[] = new Object[webContext.getContextCount() + 2];
String wrapperName = getWrapperName(request, webContext);
context[webContext.getContextCount()] = JACCRealm.setRequestWrapperName(wrapperName);
-
+
+ context[webContext.getContextCount() + 1] = PolicyContext.getContextID();
+ PolicyContext.setContextID(webContext.getPolicyContextId());
+
beforeAfter.before(context, request, response, BeforeAfter.DISPATCHED);
stack.push(context);
@@ -87,6 +92,7 @@
beforeAfter.after(context, request, response, BeforeAfter.DISPATCHED);
JACCRealm.setRequestWrapperName((String) context[webContext.getContextCount()]);
+ PolicyContext.setContextID((String) context[webContext.getContextCount()] + 1);
}
}