<ahref="http://www.zimbra.com/"class="urlextern"title="http://www.zimbra.com/"rel="nofollow">Zimbra</a> est un logiciel serveur collaboratif et de messagerie open-source - messagerie, calendrier de groupe, contacts, messagerie instantanée, stockage de fichiers et gestion de documents web. Le serveur de messagerie et calendrier Zimbra est disponible pour Linux, Mac OS X et les plateformes de virtualisation. Zimbra se synchronise avec les smartphones (iPhone, BlackBerry) et les clients lourds de bureau tels Outlook et Thunderbird. Zimbra propose aussi l'archivage et discovery for compliance. Zimbra peut être déployé sur site ou hébergé telle une messagerie.
Zimbra utilise un <ahref="http://wiki.zimbra.com/index.php?title=Preauth"class="urlextern"title="http://wiki.zimbra.com/index.php?title=Preauth"rel="nofollow">protocole de pré-authentification</a> pour s'intégrer à un <abbrtitle="Authentification unique (Single Sign On)">SSO</abbr>. This protocol is implemented in an <abbrtitle="LemonLDAP::NG">LL::NG</abbr> specific Handler.
<divclass="notetip">Zimbra peut aussi être connecté à <abbrtitle="LemonLDAP::NG">LL::NG</abbr> via le <ahref="../idpsaml.html"class="wikilink1"title="documentation:2.0:idpsaml">protocole SAML</a> (voir le <ahref="http://blog.zimbra.com/blog/archives/2010/06/using-saml-assertions-to-access-zimbra.html"class="urlextern"title="http://blog.zimbra.com/blog/archives/2010/06/using-saml-assertions-to-access-zimbra.html"rel="nofollow">blog de Zimbra</a>).
</div><divclass="noteimportant">Pour l'instant, Zimbra n'est pas supporté par le handler Nginx. Il faut utiliser Apache.
L'intégration avec <abbrtitle="LemonLDAP::NG">LL::NG</abbr> est la suivante :
</p>
<ul>
<liclass="level1"><divclass="li"> Une <abbrtitle="Uniform Resource Locator">URL</abbr> spéciale est declarée dans le menu des applications (telle <ahref="http://zimbra.example.com/zimbrasso"class="urlextern"title="http://zimbra.example.com/zimbrasso"rel="nofollow">http://zimbra.example.com/zimbrasso</a>)</div>
</li>
<liclass="level1"><divclass="li"> Un handler Zimbra est appelé</div>
</li>
<liclass="level1"><divclass="li"> Le handler construit la requête de pré-authentification et redirige l'utilisateur sur l'<abbrtitle="Uniform Resource Locator">URL</abbr> de pré-authentification de Zimbra</div>
</li>
<liclass="level1"><divclass="li"> Ensuite Zimbra génère son cookie <abbrtitle="Authentification unique (Single Sign On)">SSO</abbr> dans le navigateur de l'utilisateur</div>
<h3class="sectionedit4"id="zimbra_preauth_key">Clef de pré-authentification Zimbra</h3>
<divclass="level3">
<p>
Il est nécessaire de récupérer une clef de pré-authentification auprès du serveur Zimbra.
</p>
<p>
Voir <ahref="http://wiki.zimbra.com/index.php?title=Preauth#Preparing_a_domain_for_preauth"class="urlextern"title="http://wiki.zimbra.com/index.php?title=Preauth#Preparing_a_domain_for_preauth"rel="nofollow">comment le faire</a> sur le wiki Zimbra.
<h3class="sectionedit5"id="zimbra_application_in_menu">Application Zimbra dans le menu</h3>
<divclass="level3">
<p>
Choisir par exemple <ahref="http://zimbra.example.com/zimbrasso"class="urlextern"title="http://zimbra.example.com/zimbrasso"rel="nofollow">http://zimbra.example.com/zimbrasso</a> comme <abbrtitle="Uniform Resource Locator">URL</abbr><abbrtitle="Authentification unique (Single Sign On)">SSO</abbr> et <ahref="../portalmenu.html#categories_and_applications"class="wikilink1"title="documentation:2.0:portalmenu">insérer la dans le menu application</a>.
<liclass="level1"><divclass="li"><strong>Clef de pré-authentification key</strong> : celle récupérée de la commande zmprov</div>
</li>
<liclass="level1"><divclass="li"><strong>clef de session compte</strong> : champ de session utilisé comme compte utilisateur Zimbra (par défaut : uid)</div>
</li>
<liclass="level1"><divclass="li"><strong>Type de compte</strong> : pour Zimbra, ce peut être name, id ou foreignKey (par défaut : id)</div>
</li>
<liclass="level1"><divclass="li"><strong><abbrtitle="Uniform Resource Locator">URL</abbr> de pré-authentification</strong> : <abbrtitle="Uniform Resource Locator">URL</abbr> de pré-authentification Zimbra, soit l'<abbrtitle="Uniform Resource Locator">URL</abbr> complète (ex : <ahref="http://zimbra.lan/service/preauth"class="urlextern"title="http://zimbra.lan/service/preauth"rel="nofollow">http://zimbra.lan/service/preauth</a>), soit seulement le chemin absolu (ex : /service/preauth) (par défaut : /service/preauth)</div>
</li>
<liclass="level1"><divclass="li"><strong>Expression de correspondance de l'<abbrtitle="Uniform Resource Locator">URL</abbr><abbrtitle="Authentification unique (Single Sign On)">SSO</abbr></strong> : expression régulière de correspondance de l'<abbrtitle="Uniform Resource Locator">URL</abbr><abbrtitle="Authentification unique (Single Sign On)">SSO</abbr> (par défaut : ^/zimbrasso$)</div>
</li>
</ul>
<divclass="noteimportant">Suite au changement de l'<abbrtitle="Interface de programmation">API</abbr> du handler dans la version 1.9, il est nécessaire de définir ces attributs dans le fichier <code>lemonldap-ng.ini</code> et non dans le Manager, par exemple: