diff --git a/datamodels/2.x/itop-portal-base/portal/src/EventListener/UserProvider.php b/datamodels/2.x/itop-portal-base/portal/src/EventListener/UserProvider.php index 7e5131a58..df2dd6d2b 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/EventListener/UserProvider.php +++ b/datamodels/2.x/itop-portal-base/portal/src/EventListener/UserProvider.php @@ -65,6 +65,10 @@ class UserProvider implements ContainerAwareInterface public function onKernelRequest(GetResponseEvent $oGetResponseEvent) { // User pre-checks + // Note: The following note and handling of the $iExitMethod were for the old login mechanism + // and hasn't been reworked after the introduction of the new one as we saw it too late. + // $iExitMethod and $iLogonRes may be useless now as the DoLoginEx method exits directly sometimes. + // // Note: At this point the Exception handler is not registered, so we can't use $oApp::abort() method, hence the die(). // - Checking user rights and prompt if needed (401 HTTP code returned if XHR request) $iExitMethod = ($oGetResponseEvent->getRequest()->isXmlHttpRequest()) ? LoginWebPage::EXIT_RETURN : LoginWebPage::EXIT_PROMPT; diff --git a/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig b/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig index 816f6fe1a..e8395a953 100644 --- a/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig +++ b/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig @@ -466,6 +466,10 @@ $(document).ready(function(){ {% block pPageReadyScripts %} + // Add proprietary header to identify our XHR calls + $(document).ajaxSend(function(oEvent, oXHR, oOptions) { + oXHR.setRequestHeader('X-Combodo-Ajax', 'true'); + }); // Handle AJAX errors (exceptions (500), logout (401), ...) $(document).ajaxError(function(oEvent, oXHR, oSettings, sError){ if(oXHR.status === 401)