Comment une application, exécutée sur un serveur de production, peut-elle accéder au nom d'utilisateur de connexion de la machine à laquelle un utilisateur accède à une application? Par exemple, je suis actuellement connecté ma machine sur le INTRA intranet de l'entreprise. Mon nom d'utilisateur sera INTRA \ Nom d'utilisateur.Récupération du nom d'utilisateur Windows depuis une machine connectée via une application intranet
J'ai ajouté les noms d'utilisateur spécifiques à une base de données et que vous souhaitez vérifier le nom d'utilisateur intranet contre la base de données pour restreindre l'accès à une application et d'exploiter le nom d'utilisateur dans l'application.
Actuellement, je suis en utilisant le code suivant pour accéder au nom d'utilisateur:
Private username As String = Thread.CurrentPrincipal.Identity.Name
Cela fonctionne très bien sur localhost, mais lors de l'authentification contre la base de données sur un serveur de développement, je reçois ce qui suit erreur:
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Est-ce une approche incorrecte? Est-ce possible ou est-ce trop un problème de sécurité? Cette application sera une application intranet interne exécutée dans un magasin IE. pièces pertinentes de web.config qui existent déjà comprennent:
<identity impersonate="true"/>
<authentication mode="Windows"/>
<authorization>
<deny users="?"/>
</authorization>
<connectionStrings>
<add name="CONNSTR" connectionString="Initial Catalog=DATANAME;Data Source=servername;Integrated Security=True;" providerName="System.Data.SqlClient"/>
</connectionStrings>
Quelle est la chaîne de connexion db que vous utilisez? – DancesWithBamboo
Ajouté à la description. Merci –