<h1class="sectionedit1"id="handler_redirections">Redirections des agents</h1>
<divclass="level1">
<divclass="noteclassic">Lorsqu'un utilisateur accède à un agent sans cookie, il est redirigé vers le portail, et l'<abbrtitle="Uniform Resource Locator">URL</abbr> cible est encodée dans l'<abbrtitle="Uniform Resource Locator">URL</abbr> de redirection (pour rediriger l'utilisateur après authentification).
<h2class="sectionedit2"id="protocol_and_port">Protocole et port</h2>
<divclass="level2">
<p>
Pour encoder l'<abbrtitle="Uniform Resource Locator">URL</abbr> de redirection, l'agent utilise des variables d'environnement Apache et des paramètres de configuration :
</p>
<ul>
<liclass="level1"><divclass="li"><strong>HTTPS</strong> : utilise https comme protocole</div>
</li>
<liclass="level1"><divclass="li"><strong>Port</strong> : port de l'application (par défaut, 80 pour http, 443 pour https)</div>
</li>
</ul>
<p>
Cesparamètres peuvent être configurés dans le manager, dans <code>Paramètres généraux</code>><code>Paramètres avancés</code>><code>Redirections des agents</code>.
<divclass="notetip">These settings can be overridden per virtual host, see <ahref="configvhost.html"class="wikilink1"title="documentation:2.0:configvhost">virtual host management</a>.
<h2class="sectionedit3"id="forbidden_and_server_error">Accès interdits et erreurs du serveur</h2>
<divclass="level2">
<p>
Les agents utilisent le code d'erreur d'Apache dans les cas suivants :
</p>
<ul>
<liclass="level1"><divclass="li"> L'utilisateur ne dispose pas de droits d'accès : FORBIDDEN (403)</div>
</li>
<liclass="level1"><divclass="li"> Une erreur est survenue côté serveur : SERVER_ERROR (500)</div>
</li>
<liclass="level1"><divclass="li"> The application is in maintenance: HTTP_SERVICE_UNAVAILABLE (503)</div>
</li>
</ul>
<p>
These errors can be catch trough Apache <code>ErrorDocument</code> directive or Nginx <code>error_page</code> directive, to redirect user on a specific page:
</p>
<preclass="code file apache"><spanclass="co1"># Apache: Common error page and security parameters</span>
It is also possible to redirect the user without using <code>ErrorDocument</code>: the Handler will not returnV 403, 500, 503 code, but code 302 (REDIRECT).
</p>
<p>
L'utilisateur sera redirigé vers l'<abbrtitle="Uniform Resource Locator">URL</abbr> du portail avec une erreur dans le paramètre <code>lmError</code> de l'<abbrtitle="Uniform Resource Locator">URL</abbr>.
</p>
<p>
Ces paramètres peuvent être configurés dans le manager, dans <code>Paramètres généraux</code>><code>Paramètres avancés</code>><code>Redirections des agents</code>:
</p>
<ul>
<liclass="level1"><divclass="li"><strong>Redirections pour les accès interdits</strong> : utilise 302 au lieu de 403</div>
</li>
<liclass="level1"><divclass="li"><strong>Redirection pour les erreurs</strong> : utilise 302 au lieu de 500 ou 503</div>
<h1class="sectionedit4"id="portal_redirections">Redirections du portail</h1>
<divclass="level1">
<divclass="noteclassic">Si un utilisateur est redirigé depuis un agent vers le portail pour s'authentifier et s'il est déjà authentifié, le portail le redirige vers l'<abbrtitle="Uniform Resource Locator">URL</abbr> de redirection.
</div><ul>
<liclass="level1"><divclass="li"><strong>Redirection message</strong>: The redirection from portal can be done either with code 303 (See Other), or with a JavaScript redirection. Souvent la redirection prend du temps car c'est le premier accès de l'utilisateur à l'application protégée et il faut créer la session applicative ; la redirection JavaScript améliore le ressenti utilisateur en l'informant que l'authentification est réussie et en évitant qu'il clique de nouveau sur le bouton.</div>
</li>
<liclass="level1"><divclass="li"><strong>Keep redirections for Ajax</strong>: By default, when an Ajax request is done on the portal for an unauthenticated user (after a redirection done by the handler), a 401 code will be sentwith a <code>WWW-Authenticate</code> header containing “<abbrtitle="Authentification unique (Single Sign On)">SSO</abbr><portal-<abbrtitle="Uniform Resource Locator">URL</abbr>>”. Set this option to 1 to keep the old behavior (return of <abbrtitle="HyperText Markup Language">HTML</abbr> code).</div>