Apache Redirection selon l'utilisateur vers un repertoire

Bonsoir,
je me demande comment rediriger un utilisateur, une fois qu’il est identifié, et en fonction de son identité, vers un repertoire qui lui est dédié ?
shéma :
DocumentRoot /www

[code]<Directory /www/users>
blahblahblha
Require User toto tata

et là j’aimerai l’équivalent de :

si user = toto, RedirectMatch permanent .* https://domaine.com/users/toto
sinon si user = tata, RedirectMatch permanent .* https://domaine.com/users/tata
fin si
[/code]
Le but du jeu étant qu’un utilisateur aie une vue :

  • d’ensemble sur /www, qui qu’il soit (c’est français ça ?)
  • pas de vue d’ensemble de /www/users, cad accés filtré à /www/users qui le dirige vers son repertoire selon son identité

Donc, comment récupérer la variable User, si tant est que c’est une variable accessible … ?
Une autre solution serait : Comment ne rendre qu’une partie d’un repertoire visible, dynamiquement, en fonction de l’identité du visiteur ?

sans authentification via un cgi ou php je ne crois pas que ca soit possible

ca n’est pas une redirection mais sinon tu peux peut etre opter pour les userdir accessible à cette adresse

tonsite.org/~user

à partir de la tu pourras creer un .htaccess dans chacun de ces repertoire

(faut créer le compte sur la machine et mettre le contenu dans public_html, au passage pense à ne pas attribuer à ces comptes un shell s’il ne se connecte pas sur la machine autrement qu’avec apache (/bin/nologin dans /etc/passwd à la place de /bin/bash)

hello,

Bah avec une authentification Linux, tu lui met son répertoire par defaut ou tu veux dans le /etc/passwd, non ?

Merci rs4, effectivement, je m’oriente vers le PHP, c’est cool ce langage :stuck_out_tongue: (il serait temps de s’y mettre ! ), et j’avais pensé aussi à usedir et une syntaxe du type domaine.com/~toto comme redirection, me donnait une erreur, comme si il arrivait pas à interpreter le tilde … De toute façon, je ne vais pas creuser dans ce sens de suite, je préfère la solution php avec un formulaire de login et tout et tout, là au moins il y aura la variable $user ou $login dans la session ouverte …
Merci stonfi, mais par authentification Linux, tu veux dire que les visiteurs auraient un nom utilisateur system avec un /home/~user et un shell à /bin/false ?

rs4: AMA, aussi bien sous win que sous lin, il doit y avoir moyen de se faire automatiquement identifier sans avoir à taper son code, lors de la demande de desserte d’une url à un apache, avec une requète d’authentification (ident, kerberos, ntlm, ou autre) faite par l’apache au client.
squid sait le faire, il n’y a pas de raison qu’apache ne sache pas.

Sinon usinagaz, pour fournir une URL en ~toto, il faut que tu installes le ‘mod_user’, et ça donne accés par défaut au répertoire ~toto/public_html, sauf si ce répertoire n’existe pas auquel cas tu obtiens un 404 not found.

D’accord, je regarderai ça aussi … mais , ça devrait être possible que le repertoire se crée automatiquement au premier login, je vois pas non plus pourquoi pure-ftpd le permettrait (c’est le cas) et non apache … Merci.

[quote=“usinagaz”]D’accord, je regarderai ça aussi … mais , ça devrait être possible que le repertoire se crée automatiquement au premier login, je vois pas non plus pourquoi pure-ftpd le permettrait (c’est le cas) et non apache … Merci.[/quote]Pour la bonne et simple raison que les développeurs d’apache on choisi une logique differente de celle de pure-ftpd.
Mais il y a peut être moyen aussi de configurer autrement le mod_user