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
A voir également:
Asp connexion
Asp windows - Meilleures réponses
Integrated windows authentication - Meilleures réponses
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...).
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.
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)"