Zimbra – CAS déconnexion | Babash
par francois · 12 janvier 2017
Dans mon précédent article, je vous ai expliqué comment vous identifier en CAS sur Zimbra. A présent, je vais vous expliquer comment faire la procédure de déconnexion.
Explications
En effet, lorsque vous cliquez sur « Déconnexion » depuis le webmail de Zimbra, le CAS vous affiche bien que vous êtes déconnecté, mais le cookie de session est toujours là ! Du coup, vous n’êtes pas déconnecté !
Le problème vient du fait que dans le précédent article, je vous ai dit de renseigner ceci :
Sous l’utilisateur zimbra, pour chaque domaine à gérer :
zmprov mcf zimbraWebClientLoginURL https://zimbra.url.com:port/index.php
zmprov mcf zimbraWebClientLogoutURL https://cas.url.com:port/cas/logout
Dans le cas présent, vous renvoyez donc l’utilisateur connecté sur la page qui affiche que vous êtes bien déconnecté. Mais cette page ne supprime pas le cookie, ce n’est qu’un affichage !
Résolution du bug
Sur le serveur proxy, dans le répertoire qui héberge vos pages, ajouter donc un fichier logout.php contenant ceci :
* Example for handling logout requests * @file example_logout.php * @category Authentication * @author Joachim Fritschi * @author Adam Franco * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * @link https://wiki.jasig.org/display/CASC/phpCAS // Load the settings from the central config file require_once ‘config.php’; require_once $phpcas_path . ‘/CAS.php’; // Enable verbose error messages. Disable in production! #phpCAS::setVerbose(true); phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context); phpCAS::setNoCasServerValidation(); |
Corrigez les inclusions pour pointer votre fichier de configuration.
Ensuite, modifier l’URL de déconnexion depuis l’IHM de Zimbra ou en ligne de commande. Vous aurez donc :