smr78 Posté 24 Avril 2009 Posté 24 Avril 2009 Bonjour, Grâce à vous, je me sers maintenant de groupes pour autoriser l'accès de certains répertoire à certains groupes. Mais comment coder dans le htacess d'un répertoire qu'il est accessible à tous sauf aux membres d'un groupe? Une solution serait de coder : AuthType Basic AuthUserFile /monsite/dossier/fichierIdentifiants AuthGroupFile /monsite/dossier/fichierGroups require group group1 group2 group3 etc... Comme cela, le groupe qui n'est pas dans la liste serait interdit mais cette liste risque d'être longue ou bien il faudrait mettre tous les utilisateurs autorisés dans un groupe particulier mais il faudrait le maintenir à jour. En supposant que le nombre d'utilisateurs interdits est plus petit que le nombre d'utilisateurs autorisés, il est plus simple de déclarer seulement le groupe interdit. J'ai essayé tout simplement de mettre AuthType Basic AuthUserFile /monsite/dossier/fichierIdentifiants AuthGroupFile /monsite/dossier/fichierGroups Deny group mongroupeInterdit comme je l'ai vu expliqué dans ce site : reference.wolfram.com Mais ça ne fonctionne pas chez OVH ni sous Easyphp, car ce code produit une erreur 500. Merci pour toute aide Cordialement
SStephane Posté 25 Avril 2009 Posté 25 Avril 2009 Tu es sur que "deny group" existe par défaut sur apache ? je ne suis pas un spécialiste d'apache mais j'ai jamais vu, peut être un module à installer comme mod_auth pour les restrictions d'accès.
smr78 Posté 25 Avril 2009 Auteur Posté 25 Avril 2009 Bonjour, Merci pour la réponse. Je ne suis sûr de rien avec Apache que je ne connais que très peu. Ma syntaxe "deny group" est juste un exemple parlant de ce que je cherche et comme j'ai vu cette syntaxe sur le site cité, je l'ai prise comme exemple. Toute autre syntaxe me conviendrait si elle permet d'interdire un groupe. Cordialement
jcaron Posté 25 Avril 2009 Posté 25 Avril 2009 deny group n'existe pas, le site que tu montres correspond à la syntaxe d'un autre soft, inspirée des .htaccess d'Apache, mais qui n'a rien à voir. Il n'y a pas à ma connaissance de méthode pour faire ça en standard dans Apache. Mais tu peux mettre tes utilisateurs dans plusieurs groupes. Donc pour tous les utilisateurs dans les groupes autorisés tu les mets aussi dans un nouveau groupe pour ça, et pas les autres, et hop. Alternativement, tu peux générer des fichiers .htpasswd et/ou .htgroup différents suivants les contextes (à partir d'une liste "complète"). Note que comme indiqué dans la doc, si tu as beaucoup d'utilisateurs et/ou de groupes, ça risque d'être très peu efficace et tu as intérêt à utiliser un fichier DBM ou une base de données. D'ailleurs avec une base de données, soit en utilisant une vue, soit en utilisant Auth_PG_pwd_whereclause (pour pgsql, mais il doit y avoir la même chose pour mysql), tu peux restreindre les choses comme tu veux. Jacques.
smr78 Posté 25 Avril 2009 Auteur Posté 25 Avril 2009 Bonjour, Merci pour cette réponse claire et utile. Pour le moment, je n'utilise pas de base de données, car au début de la conception je ne savais pas si l'hébergeur que l'on choisirait le permettrait (bien que ça soit rare ceux qui ne savent pas). Le groupe auquel je souhaite interdire l'accès à un répertoire contient, pour l'instant, un seul membre! Il serait donc casse-pied de gérer un groupe "autorisés" comprenant plus d'une centaine de membres à cause d'un seul non autorisé. Comme tu le dis, il vaut mieux passer à la solution base de données dans ce cas. Donc en attendant, je vais faire le filtrage en php par les pages situées dans le répertoire interdit. Cordialement
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant