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

Signaler
Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
19 avril 2007
-
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
-
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

5 réponses

Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
19 avril 2007

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é.
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
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
Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
19 avril 2007

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)"
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
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
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
oufffff

yopyop