Het delen van authenticatie-data tussen verschillende wiki's op dezelfde server

Stel: Je wilt verschillende wiki's op dezelfde server hebben, en je gebruikers willen slechts eenmaal inloggen. Om dit 'single-sign-on' scenario te laten werken moet je het volgende doen:

  1. Verander de definitie van DOKU_COOKIE in inc/init.php naar iets dat voor alle wiki-instanties hetzelfde is, bijvoorbeeld md5('gedeeldcookie'). DOKU_COOKIE is de naam van het cookie dat gemaakt wordt nadat een gebruiker ingelogd heeft. In een standaard DokuWiki installatie is het cookie een hash van de volledige URL (inclusief het pad).
  2. Verander DOKU_REL in '/' in de twee aanroepen van setcookie in inc/auth.php. Dit zorgt ervoor dat er slechts één cookie naar alle instanties op de server wordt gestuurd.
  3. De inhoud van het bestand data/meta/_htcookiesalt moet bij alle instanties hetzelfde zijn. Dit bestand wordt gemaakt wanneer een gebruiker voor de 1e keer inlogt. De inhoud blijft daarna hetzelfde.
  4. Als je de gebruikersinformatie wilt delen moet je één Wiki als “master” wiki aanwijzen. Het bestand conf/users.auth.php in de “slave” wiki's moet dan een symlink zijn naar dit bestand in de “master” wiki. Als de namespace structuur vergelijkbaar is en je geen complexe ACL omgevingen nodig hebt kun je ook het bestand conf/acl.auth.php delen.

Andere authenticatie opties

Er zijn veel andere standaard loginsystemen mogelijk zoals LDAP en Active Directory, eenvoudig te zoeken in deze wiki en in je eigen te installeren.