ASP.NET Utilisateur windows connecté

Résolu
berocca
Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
19 avril 2007
- 6 avril 2005 à 17:34
cs_Yopyop
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
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

5 réponses

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

11 avril 2005 à 09:03
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é.
3
cs_Yopyop
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
6 avril 2005 à 20:13
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
0
berocca
Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
19 avril 2007

7 avril 2005 à 11:16
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)"
0
cs_Yopyop
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
7 avril 2005 à 18:02
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Yopyop
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
11 avril 2005 à 11:05
oufffff

yopyop
0