瀏覽代碼

fix issue #691 - helpdesk idle timeout counter not working

Jason Rivard 2 年之前
父節點
當前提交
745242a251

+ 6 - 0
server/src/main/java/password/pwm/http/IdleTimeoutCalculator.java

@@ -177,6 +177,12 @@ public class IdleTimeoutCalculator
             throws PwmUnrecoverableException
     {
         final PwmURL pwmURL = pwmRequest.getURL();
+        return idleTimeoutForRequest( pwmRequest, pwmURL );
+    }
+
+    public static TimeDuration idleTimeoutForRequest( final PwmRequest pwmRequest, final PwmURL pwmURL )
+            throws PwmUnrecoverableException
+    {
         final PwmDomain pwmDomain = pwmRequest.getPwmDomain();
 
         if ( pwmURL.isResourceURL() )

+ 4 - 1
server/src/main/java/password/pwm/http/servlet/ClientApiServlet.java

@@ -45,6 +45,7 @@ import password.pwm.http.ProcessStatus;
 import password.pwm.http.PwmHttpRequestWrapper;
 import password.pwm.http.PwmRequest;
 import password.pwm.http.PwmSession;
+import password.pwm.http.PwmURL;
 import password.pwm.i18n.Display;
 import password.pwm.svc.sessiontrack.UserAgentUtils;
 import password.pwm.svc.stats.EpsStatistic;
@@ -68,6 +69,7 @@ import password.pwm.ws.server.rest.bean.PublicHealthData;
 import javax.servlet.ServletException;
 import javax.servlet.annotation.WebServlet;
 import java.io.IOException;
+import java.net.URI;
 import java.time.Instant;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -333,7 +335,8 @@ public class ClientApiServlet extends ControlledPwmServlet
             {
                 try
                 {
-                    final TimeDuration maxIdleTime = IdleTimeoutCalculator.idleTimeoutForRequest( pwmRequest );
+                    final PwmURL pwmUrl = PwmURL.create( URI.create( pageUrl ), pwmRequest.getContextPath(), pwmRequest.getAppConfig() );
+                    final TimeDuration maxIdleTime = IdleTimeoutCalculator.idleTimeoutForRequest( pwmRequest, pwmUrl );
                     idleSeconds = maxIdleTime.as( TimeDuration.Unit.SECONDS );
                 }
                 catch ( final Exception e )