2017-10-07 19 views
0

Comment puis-je obtenir le DOMAIN/nom d'utilisateur dans MVC Core une fois publié? J'ai identité installé, et se rendre compte que pour les utilisateurs connectésMVC Core: Authentification Windows

HttpContext.User.Identity.Name 

fonctionnerait, mais préfèrent que tous les utilisateurs ne doivent pas nécessairement être connecté. Au contraire, je voudrais utiliser la boîte de client domaine/nom d'utilisateur.

Dans un environnement local, je peux le faire avec:

System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

mais cela ne fonctionne pas une fois publié. Une fois publié, il affiche "IIS APPPOOL/AppName". Est-ce la fonctionnalité attendue? Si non, comment puis-je résoudre ce problème?

La plupart des informations que je peux trouver en ligne concerne de modifier le fichier web.config ...

Le plus approchante est Windows Authentication with asp.net core

mais je ne sais pas comment je mettre en œuvre dans le contrôleur une fois que je suis que

+0

"Je voudrais utiliser le nom de domaine/nom d'utilisateur." Quelle boîte, celle de l'utilisateur ou du serveur? Vous n'avez pas non plus besoin de l'authentification Identity for Windows –

+0

sur la machine de l'utilisateur (client). Et oui, je me rends compte que je n'ai pas besoin d'identité pour cette fonction, mais je l'utilise pour d'autres fonctions dans l'application – coolhand

+1

'HttpContext.User.Identity.Name' vous donnera le nom' DOMAIN \ username' de l'utilisateur lorsqu'il est connecté via l'authentification Windows. Il n'est pas possible de l'obtenir sans que l'utilisateur soit connecté, mais, si vous désactivez l'authentification anonyme, elle * doit être automatique (bien que cela puisse briser l'identité) –

Répondre

0

Après une quantité décente de recherche, il semble que ce ne soit pas facilement réalisable comme l'a déclaré Camilo Terevinto. Je vais devoir implémenter Identity pour tous les utilisateurs.