Obtenir nom user windows

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 508 fois - Téléchargée 30 fois

Contenu du snippet

Dans un intranet, pour que l'application web puisse attribuer certaines pages à une entité précise, sans passer par un mode authentification formulaire, il est possible de prendre le nom d'utilisateur Windows

Source / Exemple :


1 er étape : 
Sachant qu'il y a une authentification du serveur IIS et de l'application asp.net
Dans les paramètres du serveur IIS, il faut d'abord :
pour Windows 2000
- clic droit sur le poste de travail/ 
gérer /Services et applications/ service internet/site web par défault/propriété
 l'onglet Sécurité de répertoire / Accès anonyme et controle de repertoire
 il faut juste cocher Authentification integrer Windows 
Ou bien  il faut avoir le fichier web.config comme suivant
<configuration>
    <system.web>
             <authentication mode="Windows"/>
                
		<identity impersonate="true"/>
		<customErrors mode="Off"/>
..........

2 ème étape 

Dans votre page aspx  ou bien sur le html contient un label1

Sub Page_load(sender As Object, e As EventArgs)

'Méthode n°2

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
'sans cet appel, l'entit" renvoyé serait une classe GenericPrincipal
' qui ne contiendrait aucune information d'utilisateur

Dim ident As WindowsIdentity = WindowsIdentity.GetCurrent()
Label1.text= Ctype(ident.Name,string)
end sub

3ème étape 

J'ai partagé mon dossier, où est hébergé mon site, au groupe "utilisateur authentifié" c'est un partage NTFS en plus du partage Web. 
Dans le serveur IIS sur le dossier de l'appli web "clic droit sur le poste de travail/ 
gérer /Services et applications/ service internet/site web par défault/<dossier partage web> clic droit toutes les taches> Assistant autorisation> w2000 "remplacer toutes autorisation de rep. et de fichier"

Conclusion :


Voila ca affiche juste le "nom domaine/nom_user"
Donc c'est un script assez simple mais très utile pour une authentification automatique et un acces au base de données; Je l'utilise dans une application de gestion des absences pour un intranet.
Merci encore MSDN
;-) nicolasalaun@yahoo.fr

A voir également

Ajouter un commentaire Commentaires
Messages postés
6
Date d'inscription
lundi 4 octobre 2010
Statut
Membre
Dernière intervention
29 juin 2011

Merci, très utile !!! Quelqu'un aurait-il une version php de ce code ?
Messages postés
3
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
30 octobre 2006

Bonjour,

Merci pour cet exemple :

en plus de :

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
'sans cet appel, l'entit" renvoyé serait une classe GenericPrincipal
' qui ne contiendrait aucune information d'utilisateur

Dim ident As WindowsIdentity = WindowsIdentity.GetCurrent()
Label1.text= Ctype(ident.Name,string)


J'ai trouvé la commande suivante pour récupérer Domaine\Login
Request.ServerVariables("LOGON_USER")

Pour ma part j'ai mis ce code dans mon Global.asax.vb

mais à chaque fois que je tentais de me connecter, il m'envoyait un formulaire ou je devais saisir login et mot de passe.
(Pas de pare-feu entre mon serveur et moi)

La solution :
Outils/Option Internet/Sécurité
Puis
Personaliser le niveau
Et
Cocher "connexion automatique avec le nom d'utilisateur et le mot de passe actuel"


Voilà

Ma remarque est peut être conne mais ce qui est évident doit parfois être dit ;-)

Merci
Messages postés
16
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
14 septembre 2005

Bonjour,

à partir de la, est ce que quelqu'un saurait récupérer la liste des groupes auquels appartient un utilisateur?
ca m'aiderait bien...
A+
Messages postés
2
Date d'inscription
mercredi 15 septembre 2004
Statut
Membre
Dernière intervention
15 septembre 2004

pourquoi ne pas intégrer cette authentification plutôt dans le fichier global.asax (partie session)?
Messages postés
25
Date d'inscription
mercredi 11 septembre 2002
Statut
Membre
Dernière intervention
2 septembre 2004

Exemple sympa et très pratique/concret
:)
J'ai un projet en asp.net où ce code va me simplifier la vie.
Merci et A+!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.