COMMENT RÉCUPÉRER UN USERNAME SANS PASSER PAR WSCRIPT.NETWORK...

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 6 avril 2004 à 19:03
sergeburki Messages postés 3 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 8 mars 2010 - 8 mars 2010 à 18:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/21714-comment-recuperer-un-username-sans-passer-par-wscript-network

sergeburki Messages postés 3 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 8 mars 2010
8 mars 2010 à 18:00
Une des possibilités pour avoir le code utilisateur du client: passer par javascript :

du genre :

function windowsID ()
{
try {
var WinNetwork = new ActiveXObject("WScript.Network");
return WinNetwork.UserName;
}
catch (e) {
// on met un code utilisateur vide ou bidon ... selon les goûts
return 'unknown'
}
}

Si le composant activex n'est pas installé ou si il n'est pas autorisé (cf paramètres IE, section sécurité, personnaliser le niveau), on récupère un code non vide avec la valeur "unknown"...

Avec ce code, facile d'initialiser un écran de login.
briquetb Messages postés 25 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 30 septembre 2008
4 sept. 2008 à 12:16
Bonjour tout le monde,

Je sais que le sujet remonte a très très loin mais il me faut absolument cette réponse.
Avec le code ci-dessus je récupère le login du serveur et non le login du client.
J'ai cherché sur tout le net et impossible de trouver.
Je dois recuperer le login sur un site intranet.
SVP repondez le plus vite possible.
djnos Messages postés 19 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 15 février 2008
1 oct. 2006 à 10:39
Moi perso, s'il fallait récupérer un login utilisateur, chose que j'ai déjà faite, j'oublierais tout de suite l'idée des active-x etc... qui sont vraiment bien bloqués par les navigateurs aujourd'hui (il faut faire explicitement autoriser etc...), autant créer une petite applet et la signer avec un certificat que vous aurez généré au préalable. Dans cette applet le principe est simple :
vous récupérez pour windows la variable d'envirronement %USERNAME% et sous Linux vous pouvez par exemple spliter la variable $HOME mais ca c'est pas pour tenter de faire des trucs pas correct sur la machine du client... moi c'était pour une utilisation 'correcte' sur un réseau d'entreprise....
Utilisateur anonyme
7 avril 2004 à 17:38
Pour ce qui font de l'intranet
En ce qui me concerne j'utilise le WScript.Network sans aucun problème. Pour que tout le monde puisse l'utiliser j'ai paramétré la classe d'adresse de mon réseau pour qu'elle ne passe pas par mon proxy (le paramètrage se fait donc au niveau de l'intranet). Ensuite j'ai permis les scripts Active X dans les paramètres de Sécurité de mon INTRANET et pas l'internet sinon bonjour la sécu. Je peux ainsi récupérer le UserName et le UserDomain. Par défaut les active X ne sont pas permis alors pour ceux qui en plus ont Active Directory ils peuvent créer une policy pour que ces paramètrages se fassent sur tous les pcs du réseau. Il me reste encore à récupérer les adresses mail en comparant le login que je récupère à la base Active Directory mais c'est une autre histoire ... D'ailleurs si y'en a qu'on déjà fait je suis preneuse parce que je manque un peu de temps ... Merci ;)
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
7 avril 2004 à 14:14
Marche pas chez moi ton code...
il faut ajouter des éléments ailleurs ?

la commande existe, mais elle renvoie rien, je suis identifié en tant qu'anonyme...

De quel user s'agit il ???
cs_RayBan Messages postés 17 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 9 juin 2004
7 avril 2004 à 13:19
Un peu compliqué ton truc...

Voici une solution plus élégante :

'Le nom de l'utilisateur
response.write user.Identity.Name

'Booléen pour savoir si l'utilisateur est authentifié
response.write user.Identity.IsAuthenticated

'Un string pour connaître le type d'authentification
response.write User.Identity.AuthenticationType

'Un booléen pour savoir si l'utilisateur fait parti d'un certain groupe
response.write user.IsInRole("MonRole")

@ plus
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 avril 2004 à 23:06
C'est vrai que si c'etait le login du client se serait pas mal, je sais qu'il existe une possibillité pour avoir le login du client (et meme le mot de passe) mais c'etait une faille de IE, et la technique utilisé était tres complexe, et ca ressemblait fort à du hacking, c'etait une version de IE assez recente en +

Mais ca ne resoud en rien le pb d'avoir le login du client ...
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
6 avril 2004 à 22:43
En fait, je l'utilise pour la chose suivante : lorsqu'un user se connecte pour la première fois et a une fenêtre de type "user/mdp", ben il a pas a saisir le username, mais juste le mdp...

Mais bon, le pb ... c que c que ça résout pas mon pb, dans ce sens ou c du server... et non pas du client :-|

Du coup, il est bcp moins utile que prévu...
Mais bon. J'aurais la mm chose en VBScript ou en Javascript avec autre chose que wscript.network, je serais trop content...; Mais depuis les dernières versions de IE, ça marche plus trop, sauf en passant par un activeX à priori...
Enfin au jour d'aujourd'hui, j'ai rien trouvé quoi...
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 avril 2004 à 19:03
Ton code permet de recuperer juste le login de la machine qui heberge, je ne vois pas vraiment l'interet ...
pour ce qui est du code à rajouter dans le web.config il faut le mettre dans le system.web comme ceci :

<configuration>
(...)
<system.web>
(...)

(...)
</system.web>
(...)
</configuration>