Ceci est une ancienne révision du document !


Attention : cette page est dépréciée. Visiter AriseID

Htaccess pour proteger une partie privée du site de votre assoce

Cette page détaille l'ancienne façon de protéger un site. Pour utiliser la nouvelle authentification (AriseID), lisez la documentation d'AriseID
Il existe de plus maintenant un plugin DokuWiki made in Arise qui vous permettra de vous passer d'un htaccess. Visitez le wiki du projet.

Cela peut être utile pour proteger des pages privées ou n'importe quoi d'autre…

Il faut se placer dans le dossier que l'on veut protéger (ex ~/html/prive), créer un fichier se nommant “.htaccess” et le remplir avec les directives suivantes.

AuthType Basic
AuthBasicProvider ldap

En face de AuthName, mettez le texte qui sera affiché en guise de prompt

AuthName "Authentification private, Entrez vore login PERSO"

Voici maintenant la partie à modifier impérativement ! changez MONASSOCE par le nom de votre assoce, de la facon ou il est renseigné dans le ldap/l'interface AssoceAdmin.
Ici, on filtre les AssoceMember. Si vous voulez filtrer les AssoceMaster, il faut bien evidement changer assoceMember par assoceMaster.

AuthLDAPURL "ldap://ldap.iiens.net/ou=People,o=ARISE,c=fr?uid?sub?(objectClass=posixAccount)(assoceMember=MONASSOCE)"

Si vous voulez que les anciens toujours membres de l'assoce puissent toujours accéder aux pages, on doit filtrer aussi sur posixAccountDesactive.

AuthLDAPURL "ldap://ldap.iiens.net/ou=People,o=ARISE,c=fr?uid?sub?(|(objectClass=posixAccount)(objectClass=posixAccountDesactive))(assoceMember=MONASSOCE)"

Le mot de passe n'est pas divulgué ici, il faut le remplacer par celui qui est sur perso, dans le fichier /etc/libnss_ldap.conf par exemple.

Require valid-user
AuthLDAPBindDN          cn=nss,o=ARISE,c=fr
AuthLDAPBindPassword    *******************
AuthzLDAPAuthoritative  On

Attention: toutes les directives doivent tenir sur la meme ligne

Le HTTPS pour ne pas divulguer les mots de passe

Lorsque l'authentification se fait, le mot de passe des visiteurs est envoyé en presque clair (plus précisément, encodé en base64). Pour éviter ce problème il faut que ces visiteurs se connectent avec HTTPS (https://monassoce.iiens.net/) mais il est rare que ceux ci le fassent. Pour éviter ce problème il peut être intéressant de rediriger les visiteurs vers la bonne adresse. Ceci se fait en insérant ce code dans le .htaccess :

SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire  %{HTTP_HOST} eq "votrehote.iiens.net"
ErrorDocument 403 https://votrehote.iiens.net/votreURL

Voici un exemple de .htaccess pour l'assoce mamiie :

SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire  %{HTTP_HOST} eq "mamiie.iiens.net"
ErrorDocument 403 https://mamiie.iiens.net/interdit/

AuthType Basic
AuthName "Authentification private de mamiie"
AuthBasicProvider ldap
AuthLDAPURL "ldap://ldap.iiens.net/ou=People,o=ARISE,c=fr?uid?sub?(objectClass=posixAccount)(assoceMember=mamiie)"
Require valid-user

AuthLDAPBindDN          cn=nss,o=ARISE,c=fr
AuthLDAPBindPassword    *******************

AuthzLDAPAuthoritative  On

ps: Si cela ne marche pas, pensez a consulter ~/.log/error.log (qui ne marche plus actuellement : soyez patients ça remarchera un jour)