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

Langage PHP Discussion :

comment récupérer le login windows de l'utilisateur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut comment récupérer le login windows de l'utilisateur
    Bonjour

    => mon serveur web est un windows 2003, avec apache 2.2.4/mysql 5.0

    => pour un intranet accessible par des clients windows XP avec IE7, je voudrais recupérer le login des utilisateurs.

    => si je suis loggé sur un poste de travail en tant que domaine\user, et que j'affiche ds IE la page test.php, je voudrais recupérer dans test.php la chaine "user", qui est mon identifiant windows

    pouvez vous m'expliquer brievement comment faire ?
    merci d'avance

    anthony

  2. #2
    Membre éclairé
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Salut,

    Ce que tu souhaite faire est impossible en php car il s'agit d'un langage coté serveur et non client.

    Après je ne sait pas si javascript pourrait te donner ce genre de renseignement

    Michael

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    merci pour ta reponse

    javascript peut surement me donner l'info, mais j'en ai besoin coté srv pour pouvoir insérer le login de l'utilisateur dans une table MySQL

    j'ai fait des recherches sur le forum, j'ai trouvé des sujets analogues au mien, mais ils mettent tous en avant une utilisation de $_SERVER["REMOTE_USER"] ou $_SERVER['PHP_AUTH_USER'], dans le cadre d'une utilisation de l'authentification HTTP, sans plus d'explication ...

  4. #4
    Membre averti
    Profil pro
    nabbo
    Inscrit en
    Décembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : nabbo

    Informations forums :
    Inscription : Décembre 2005
    Messages : 35
    Par défaut
    hello

    tu dois configurer iis pour autoriser l'identification par login windows

    Ca se passe dans la console de IIS (start->run->inetmgr)
    dans les propriétés de ton site, onglet "directory security",autenticaton and access protocol"
    Tu coches l'option "Integrated Windows Authentication"

    (je te laisse trouver les options si ton IIS est en français)

    Il faut peut-être redémarrer IIS.

    ensuite, l'utilisateur sous IE est authentifié automatiquement (pour les autres navigateurs comme firefox, l'utilisateur doit fournir son login).

    Pour récupérer son login, il faut utiliser la variable $_SERVER['PHP_AUTH_USER'].

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    merci pour ta reponse, mais mon PHP tourne sous apache

    cela dit, voici comment j'ai bricolé :

    coté client, je recupere le user windows avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <form method="post" ......>
    <script type='text/javascript'>
      var obj = new ActiveXObject('WScript.Network');
      document.write('<input type="hidden" name="windows_logon_user" value='+obj.UserName+'>');
    </script>
    ...
    </form>
    ensuite je poste ce formulaire, et coté serveur je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (isset($_POST['windows_logon_user'])) {
      $_SESSION['windows_logon_user'] = $_POST['windows_logon_user'];
    }
    a partir de ce moment la, sur le serveur je connais le login du l'utilisateur

    je sais, c'est dégueu, mais j'ai un peu cherché, et je crois que c'est la seule solution pour que le serveur connaisse le login de l'utilisateur

    en plus, la partie de code client impose que le client soit sous IE, ce qui est OK pour mon intranet

    bref

    anthony

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    sous windows tu peux aussi en passer par l'AD
    lorsqu'un utilisateur de windows se connecte sur son poste dans un Domaine il est enregistré dans l'active directory
    tu as alors dans l'annuaire la liste des utilisateur connecté ou non dans ton domaine mais aussi les machines référencé dans ce domaine et lorsque l'utilisateur se connecte tu as aussi l'association user machine.

    tu peux donc activer le protocole LDAP de l'AD et le consulter depuis ton serveur ayant l'adresse la machine qui te fait une requête tu peux retrouver la personne connecté.

    mais la meilleur solution est sur un intranet de distribuer un certificat via le logon script
    ainsi lorsque un user se connecte sur le serveur tu reçois son certifica et tu peux l'utiliser pour l'identifier.

    pour tous ce genre de solution il te faut chercher SSO (Single Sign On) sur internet il y a beaucoup de solution plus ou moins sures et complexes.

    A+JYT

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/09/2011, 22h49
  2. Réponses: 4
    Dernier message: 23/01/2008, 17h42
  3. Réponses: 2
    Dernier message: 20/04/2007, 17h15
  4. [C#] Comment récupérer le login de l'utilisateur courant ?
    Par pocket dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/07/2006, 16h43

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