ASP.NET MVC intranet de l'application avec l'authentification windows, comment obtenir le domaine actuel de l'utilisateur automatiquement?
J'ai besoin de mon MVC4 app pour obtenir le domaine actuel de l'utilisateur qui est connecté sur la machine automatiquement connecté à mon index.cshtml page.
le reste de l'application fonctionne comme prévu par l'aide de l'Autoriser à attribuer les actions j'ai besoin sécurisé.
J'ai juste besoin de dire à l'application "obtenir la machine de l'utilisateur connecté , ne pas fixer n'importe quoi et de prendre de l'utilisateur vers la page de destination".
web.config:
<authentication mode="Windows" />
comme cela, l'utilisateur est VIDE sur la page de destination.
Si j'ai essayer de mettre juste [Autoriser] sur mon index, action, alors il demande des informations d'identification et continue comme je veux, sans obtenir quoi que ce soit sur la page de destination.
Est-il un moyen de contourner cela?
Mise à JOUR:
Peu importe ce que vous faites , il semble qu'il n'existe aucun moyen de contourner l'invite de connexion et d'en faire la demande obtenir automatiquement le courant d'utilisateur de domaine et le journal lui dans l'application.
- J'ai fourni une testé réponse ci-dessous qui contredit la "mise à Jour". Pourriez-vous regarder? Merci.
- quel navigateur êtes/étiez-vous essayez de faire cela avec? J'ai trouvé que seul IE va se comporter de cette façon.
Vous devez vous connecter pour publier un commentaire.
Cochez cette de MSDN
ajouter
impersonate="true"
avec elleEnsuite utiliser
Utiliser l'Authentification Windows et pour ASP.NET et IIS et spécifier l'ASP.NET l'Autorisation d'URL dans le site web.config comme indiqué dans cette réponse. Chaque fois que l'utilisateur actuel est autorisé, l'utilisateur sera en silence connecté.
Testé à l'aide d'IE 11, IIS 8.5, Windows Server 2012 R2.
je viens de terminer la lutte contre ce problème. je devrais préface que c'est avec iis 7 sur gagner 2k8r2. le correctif pour moi était d'aller à l'authentification de menu dans iis -> sélectionnez authentification windows -> cliquez sur fournisseurs dans le volet droit -> ajuster de sorte que seule l'authentification ntlm est dans la liste des fournisseurs disponibles. négocier semble être le coupable, pour forcer le journal invite.
Vous pouvez également essayer d'ajouter les éléments suivants à votre
<appSettings>
: