Téléchargement
illégal
Posez votre question Signaler

Récupérer le %username% [Résolu]

Vince153 - Dernière réponse le 27 nov. 2009 à 10:00
Mon patron m'a demandé de développé un portail intranet. J'ai choisi le PHP. Ce que je voudrais c'est utiliser le login Windows de l'utilisateur pour éviter la saisie de login et de mot de passe en tout cas pour la partie ouverte de mon portail.

Sans utiliser de cookies(si possible) ni de formulaire de login, j'aimerais que lorsqu'un utilisateur ouvre la page du portail, il puisse être identifié automatiquement (un peu comme avec un client exchange).

S'il faut passer par un intermédiaire de type Javascript ou VBScript, no problem mais aidez moi s'il vous plait

Merci d'avance.
Lire la suite 

Récupérer le %username% »

29 réponses
Réponse
+4
moins plus
J'ai trouvé un truc en php pour avoir le nom d'utilisateur :
<?
echo "username ".shell_exec("echo %username%");
?>


pour avoir toutes les variables d'environnement, dans la console de CMD faites "SET"

Bon développement...

stef
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

j'ai un exemple pour IE !
mais il me faudrait un mail pour joindre l'exemple ...
Jul - 28 mars 2007 à 11:06
Salut zipou

As tu obtenu ce fameux code ??

Ca serai vraiment cool, parce que cela fait un petit bout de tps que je galère la dessus

Merci par avance

j.dias@hotmail.fr
Papy - 30 mai 2007 à 15:09
Bonjour,

J'ai ce code pour ma page PHP.
Seulement, il semble qu'avec certains postes, il ne renvoie rien.

$ip=getenv("REMOTE_ADDR");
$nbtstat = "nbtstat -a ".$ip;
$nom="";
exec ($nbtstat, $result);
foreach ($result as $row)
{
if (strpos($row, "<03>"))
{
$nom = strtok($row, " ");
}
}
return $nom;

Et la fonction shell_exec ne fonctionne pas.

Je fais :

echo shell_exec('echo %username%');

et ça m'affiche "%username%"...

Quelqu'un connait-il une autre méthode ?
Dans le meilleur des cas, j'aimerais quelque chose qui se rapproche de "echo %username%".
Papy - 30 mai 2007 à 15:48
Rebonjour,

J'ai trouvé un code à cette adresse :

http://www.phpcs.com/codes/NTLM-GET-LOGIN-WINDOWS-WITH-PHP_25272.aspx

Et ça marche nickel.

Je peux ainsi récupérer l'identifiant de session de windows courant.
Et ce, sur n'importe quel poste de mon réseau, que le client soit XP ou 2K.
J'ai pas testé sur NT4 ou Linux.
Ajouter un commentaire
Réponse
+0
moins plus
Si vous voulez bien me l'envoyer ou le poster que tout le monde puisse en profiter - merci-

stef
ros109@hotmail.com
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir,
Je souhaite qu'à partir d'une page portail, mettre les icônes des programmes office, et les faire démarrer lorsque l'on clique dessus. Or évidemment le raccourci c:\progra.....\winword.exe ne fonctionne pas. Je cherche à remplacer ce famauex C:\ par queque chose. Il me semblait avoir vu des %dir%, ou %windir%, etc... mais rien ne marche.
Help
Merci de votre aide
Phil92
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Cela m'interesserait aussi. Serait possible d eme l'envoyer

Merci.
@+
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour.
Voici une solution, (plus d'un an après, et je m'en excuse, mais c'est seulement maintenant que j'ai eu ce même problème, et en faisant des recherches, je n'ai rien trouvé de satisfaisant).

ATTENTION : CE CODE FONCTIONNE SOUS IE, MAIS N'A PAS ETE TESTE AVEC D'AUTRES NAVIGATEURS !

Le principe :
Une page formulaire de connexion contenant un champ nom et un bouton de connexion.
Le login windows est récupéré par un javascript qui utilise les objets activex et "stocké" dans un input caché.

Le code php de la page n'est exécuté que si la variable $post['nom'] existe, donc après le click sur le bouton submit du formulaire. (On pourrait imaginer d'autres évènements permettant d'éviter le bouton d'envoi du formulaire)

Dans l'exemple, on compare avec la liste d'utilisateurs d'une table de la base, puis on oriente vers une page d'accueil ou une page d'erreur selon que l'utilisateur est reconnu ou non.

Enjoy it !


CODE DE LA PAGE :

<?php

require_once('connexion.php');


if (isset($_POST['nom'])){ // execution uniquement apres envoi du formulaire (test si la variable POST existe)
$nom = $_POST['nom']; // mise en variable du nom d'utilisateur
$login = $_POST['login']; // mise en variable du login windows




$verif_query=sprintf("SELECT * FROM ma_table WHERE nom='$nom' AND login='$login'"); // requête sur la base
$verif = mysql_query($verif_query) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);

if ($utilisateur) { // On test s'il y a un utilisateur correspondant


header("Location:page.php"); // redirection si OK
}
else {
header("Location:index.php?erreur=login"); // redirection si utilisateur non reconnu
}

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
</head>
<title>Mon_Titre</title>

<body>
<form action="" method="post" name="connect">
<!--Script récupérant le login windows, et le mettant dans un champ caché (pour le passer en variable au code qui s'exécutera après le submit). -->

<SCRIPT language="javascript">
var WShnetwork = new ActiveXObject('WScript.Network');
document.write('<input type="hidden" name="login" value="' + WShnetwork.UserName + '">');
</SCRIPT>
<!-- Table contenant un champ "nom" et le bouton "submit" -->
<table width="300" border="0" align="center" cellpadding="10" cellspacing="0" class="sans">
<tr>
<td width="50%"><div align="right">Nom</div></td>
<td width="50%"><input name="login" type="text" id="nom"></td>
</tr>
<tr>
<td height="34" colspan="2"><div align="center">
<p align="center" class="titre"><strong> </strong></p>
<input type="submit" name="Submit" value="Se connecter">
</div></td>
</tr>
</table>
</form>
</body>
</html>
Ajouter un commentaire
Réponse
-1
moins plus
Ben pareil, je suis preneur : kij_82@hotmail.fr

merci
Ajouter un commentaire
Réponse
-1
moins plus
j'aimerai bien l'avoir egalement si possible
merci d'avance
jpcine@yahoo.fr
Ajouter un commentaire
Réponse
-1
moins plus
Salut les mecs il me faut vraiment se code de récupération du login windows courant pour php.Et un qui marche pour de vrai !

Merci d'avance et bonne continuation dans vos projets infos !
Ajouter un commentaire
Réponse
-1
moins plus
Serait il possible également d'avoir le code source :

sylvain.thirard@wanadoo.fr merci d'avance
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour,
je sais le post est ancien mais serait-il possible de recevoir le code,
je galère pour recuperer le username pour une connexion auto sur intranet
merci
Lamz - 16 mai 2007 à 16:44
Dsl je n'ai pas encore recu le code source de cet article :(, mais en cherchant sur les variables d'environnment on peut trouver facilement
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour,
Je rencontre un petit soucis avec la variable %username%

Il arrive que certaine fois, quand on fait la commande echo %username% il donne en réponse %username%

=> Ce quisignifie que la variable %username% est enfait vide !

J'aimerais donc savoir si il y a un moyen de recupérer la valeur "loggin" sans passer par la méthode manuelle (set %username%=loggin)

MERCI !
(P.S : quand ce problème se produit, je suis bien loggugé avec une session utilisateur LOGGIN + MDP )
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour,

Si quelqu'un à pour moi aussi, ce code en PHP, pour récupérer le login Windows directement, ça m'interesse.

brice.machu@gmail.com

Merci beaucoup.

Cdt
Ajouter un commentaire
Réponse
-1
moins plus
est-ce que quelqu'un lit vraiment ces messages et envoie le fameux code magique que personne ne veut poster sur ce forum ????????????????????????
kij_82- 19 sept. 2008 à 10:00
Tu m'as l'air bien en grippe avec du monde toi ^^
Ce n'est pas parce qu'aucune réponse ne sont postées pour certaines questions que les gens font exprès de ne pas répondre. Faut arrêter aussi de penser que les gens sont là uniquement pour vous aider en permanence...
C'est un forum d'entraide certes, mais 90% des personnes ici attendent qu'on leur mâche le travail, alors oui, au bout d'un moment ça doit surement en gonfler plus d'un.
Et certaines questions sont parfois épineuses et très techniques, dépassant les connaissances de ceux qui aident. Et oui, on a beau aider les gens, parfois on est bien inutiles. Qu'une personne vienne critiquer les gens qui aident sur un forum d'entraide simplement parce qu'il n'y a pas eu de réponse à une question (surtout quand la réponse est données dans la page mais que les gens ont la flemme de tout lire...), c'est absurde.
Brydjy- 25 sept. 2008 à 11:13
Je sais pas si c'est à moi que tu parles, car sinon ça me ferait bien rire.
Je répondais simplement au gars qui postait.
C'est quand même incroyable que y ai des gens qui perde leur temps à faire une morale inutile.

Je sais ce que valent les utilisateurs de CCM. Je resterais sur ce site, quoiqu'il arrive, car selon moi on y trouve les meilleurs éléments.
Après libre à toi, de penser ce que tu veux de moi, de me juger même si tu ne me connait pas.
En gros de prétendre que je suis un imbécile irrespectueux... quoiqu'il y en soit, tu ne me connait pas.
Et je vois très bien le genre de gars que tu es...

Merci du conseil.
kij_82- 25 sept. 2008 à 12:01
Je ne t'ai jamais jugé ni ai prétendu que tu étais un imbécile irrespectueux... des fois je me demande si les gens savent lire.

Si c'est le fait d'avoir dit que je trouvais absurde de dire : "mais quand on demande un conseil sur un sujet qui fâche, y a moins de monde". C'est une remarque, où vois-tu que je te traite d'imbécile ou je ne sais quoi ? Oo

Dans tous les cas ma remarque ne se voulait pas moralisatrice, peut-être ma tournure de phrase était maladroite. Mais bon, si les discussions te dérange, je ne vais pas dialoguer plus longtemps avec toi.
Ajouter un commentaire
Réponse
-1
moins plus
lol, tkt ça me dérange pas.
no soucis :) c'était un mal entendu. je m'en excuse.

Cdt
Ajouter un commentaire
Ce document intitulé « Récupérer le %username% » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?