IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Protection de répertoire avec autentification LDAP


Sujet :

Apache

  1. #1
    Candidat au Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Protection de répertoire avec autentification LDAP
    Bonjour à tous,

    Je suis webmaster du site intranet d'une entreprise, nous utilisons une identification LDAP ou NTLM pour s'y connecter, celà fonctionne très bien.
    Le problème est qu'un département de l'entreprise a créé des pages web (avec Word lol) et j'aimerais pouvoir protéger ces pages sans avoir à les modifier... je pensais utilisé un htaccess pour redirigé sur un fichier php qui les traiterais mais je n'en suis pas encore parvenu... avez-vous une idée de comment y procéder ?
    Le but étant de ne pas pouvoir les afficher si on est pas authentifié sur le site.

    Merci d'avance ;-)

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 365
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 365
    Points : 15 714
    Points
    15 714
    Par défaut
    est ce que tu as déjà regardé là :
    http://httpd.apache.org/docs/2.0/mod/mod_auth_ldap.html
    ça te permet de protéger le répertoire sans utiliser PHP

  3. #3
    Candidat au Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Je connaissais pas, je vais regarder cette option, merci.

    Mais actuellement j'utilise un script de d'autentification LDAP en PHP et des autorisations spécifiques par application de l'intranet... et si on est pas loggé, on est redirigé sur une page de login.

    As-tu une idée comment faire celà ?

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Le pb c'est que mod_auth_ldap fait de l'authentification HTTP, alors que ta page de login, c'est de l'authentification "custom" par session. Ce sont 2 choses totalement différentes et pratiquement incompatibles.

    Tu peux peut-être t'en sortir effectivement comme tu le suggères en écrivant un .htaccess qui fait une redirection systématique sur une page PHP qui vérifie la session PHP et affiche la page demandée si tout va bien. Un truc du genre :
    .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ([^/]*)$ test_session.php?page=$1 [L]
    test_session.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    @session_start();
     
    // On verifie l'authentification
    if (!isset($_SESSION["id"])) {
    } else {
        // On affiche la page demandee
        // ATTENTION IL FAUT VERIFIER QU'IL S'AGIT DES PAGES QU'ON VEUT AFFICHER PAR CE MOYEN
        if (isset($_GET["page"])) {
            include($_GET["page"]);
        } else {
            // Pb : on n'a pas la page a afficher...
            header("HTTP/1.x 500 Internal Server Error");
        }
    }
    ?>
    Il faut mettre ces 2 fichiers dans le répertoire où se trouvent tes fichiers HTML. Ce truc marche tel quel si ce répertoire ne contient que ces fichiers Word. S'il y a d'autres fichiers PHP, etc. la règle de réécriture est trop globale et ces fichiers seraient "pris" par cette règle.

  5. #5
    Candidat au Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    C'est un peu près comment je pensais faire... mais à présent le problème est de forcer le téléchargent des fichiers si c'est des words, ppt, xls, pdf,...
    Celà fonctionne avec Firefox, mais pas avec IE (je suis en https)

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Tu peux nous montrer ce que tu as fais ? Fichiers .htaccess, PHP, etc. A priori, le HTTPS n'a rien à voir là-dedans.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/06/2015, 17h06
  2. Réponses: 1
    Dernier message: 13/08/2009, 15h32
  3. Problème protection répertoire avec .htaccess
    Par Silvia12 dans le forum Apache
    Réponses: 1
    Dernier message: 13/05/2006, 13h40
  4. Réponses: 2
    Dernier message: 08/07/2005, 10h40
  5. Protection d'un répertoire avec .htaccess
    Par Bweb dans le forum Apache
    Réponses: 2
    Dernier message: 04/05/2004, 18h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo