ASP.NET Utilisateur windows connecté [Résolu]

Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Dernière intervention
19 avril 2007
- - Dernière réponse : cs_Yopyop
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
- 11 avril 2005 à 11:05
Bonjour,

Comment connaître, depuis une page asp, le nom de l'utilisateur WINDOWS connecté ?

J'ai un intranet installé sur un serveur X, et les utilisateurs (qui travaillent sur une autre machine) se connectent dessus via une adresse style http://xxx.xx.xx.xxx/intranet/default.aspx.

J'ai essayé plusieurs choses pour tenter de connaître le nom de l'utilisateur :
a) Environment.UserName()
b) myUser = CreateObject("Wscript.Network")
lblUser.Text = nUser.UserName
c) Dim id as WindowsIdentity = WindowsIdentity.GetCurrent
lblUser.Text = id.Name
d) Request.ServerVariables("LOGON_USER")

...etc...

Mais à chaque fois j'obtiens comme nom d'utilisateur : NETWORK SERVICE.
(Rem : en testant en local, j'obtiens ASPNET comme username).

Dans IIS j'ai choisi l'authentification 'Enable anonymous access', car les utlisateurs ne veulent pas entrer leurs mots de passe à chaque fois...

Merci pour votre aide.

Berocca
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Dernière intervention
19 avril 2007
3
Merci
J'ai finalement choisi l'authentification par formulaire/cookies et ça fonctionne bien !

Dans IIS j'ai coché les options "Integrated Windows Authentication" + "Enable anonymous access" (avec un compte faisant partie du domaine et non pas IUSR...).

En fait je souhaitais faire une authentification par rapport à Active Directory. La plupart des codes sur ce sujet sont en C#, mais j'ai trouvé la correspondance en VB.NET (http://support.microsoft.com/default.aspx?scid=kb;EN-US;326340).

Mon problème est donc résolu. Merci Yopyop pour tes coneils et les liens fournis, cela m'a bien aidé.

Merci berocca 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de berocca
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
0
Merci
Salut,


Il faut que ton serveur soit dans le même domaine que les postes des utilisateurs.
De cette manière, tu partages les accomptes windows.
En utilisant la 'windows authentification', tes userss n'auront pas à se relogger (ils sont déjà loggés sous windows).

Ensuite, tu as configuré ton application pour un user anonyme -> tu ne vois qu'un seul user.

Voici un article sur la configuration de IIS:
http://harmegniesp.phidji.com/authentification.htm

Voici comment utiliser la sécurité intégrée windows en asp.net:
Dans web.config il faut mettre
authentication mode="Windows (le lien ci-dessous)

AuthUser.Text = User.Identity.Name
AuthType.Text = User.Identity.AuthenticationType

http://fr.gotdotnet.com/quickstart/aspplus/doc/windowsauth.aspx

yopyop
Commenter la réponse de cs_Yopyop
Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Dernière intervention
19 avril 2007
0
Merci
Je confirme que le serveur est bien dans le même domaine que les postes.

Dans IIS j'ai décoché l'authentification anonyme, et sélectionné l'authentification intégrée windows. Dans mon fichier web.config, j'ai mis authentication mode="Windows".

Mais malgré ces changements, cela ne fonctionne pas... Je reçois le message d'erreur suivant : "HTTP Error 401.2 - Unauthorized: Access is denied due to server configuration (IIS)"
Commenter la réponse de berocca
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
0
Merci
Bon,

Apparemment ton serveur est sécurisé au moins...

Maintenant tu dois confirgurer ton application (les pages aspx) via IIS pour dire qui à le drtoi de voir ces pages.

As-tu données les droits nécessaires à tes users sur tes fichiers aspx ?

yopyop
Commenter la réponse de cs_Yopyop
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
0
Merci
oufffff

yopyop
Commenter la réponse de cs_Yopyop

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.