nl:tips:commonlogin
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:
- Verander de definitie van
DOKU_COOKIE
in inc/init.php naar iets dat voor alle wiki-instanties hetzelfde is, bijvoorbeeldmd5('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). - Verander
DOKU_REL
in'/'
in de twee aanroepen vansetcookie
ininc/auth.php
. Dit zorgt ervoor dat er slechts één cookie naar alle instanties op de server wordt gestuurd. - 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. - 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 bestandconf/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.
nl/tips/commonlogin.txt · Laatst gewijzigd: 2012-09-08 01:04 door 82.136.210.17