Author: remm
Date: Wed Dec 6 11:26:59 2017
New Revision: 1817289
URL: http://svn.apache.org/viewvc?rev=1817289&view=rev
Log:
Take advantage of the cached session principal if possible.
Modified:
tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java?rev=1817289&r1=1817288&r2=1817289&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java Wed
Dec 6 11:26:59 2017
@@ -33,6 +33,7 @@ import javax.servlet.http.HttpSession;
import javax.servlet.http.PushBuilder;
import org.apache.catalina.Context;
+import org.apache.catalina.authenticator.AuthenticatorBase;
import org.apache.catalina.connector.Request;
import org.apache.catalina.util.SessionConfig;
import org.apache.coyote.ActionCode;
@@ -159,7 +160,12 @@ public class ApplicationPushBuilder impl
// Authentication
if (catalinaRequest.getPrincipal() != null) {
- userName = catalinaRequest.getPrincipal().getName();
+ if ((session == null) ||
catalinaRequest.getSessionInternal(false).getPrincipal() == null
+ || !(context.getAuthenticator() instanceof
AuthenticatorBase)
+ || !((AuthenticatorBase)
context.getAuthenticator()).getCache()) {
+ // Set a username only if there is no session cache for the
principal
+ userName = catalinaRequest.getPrincipal().getName();
+ }
setHeader("authorization", "x-push");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]