You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2017/12/06 11:26:59 UTC
svn commit: r1817289 -
/tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java
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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org