Comment faire pour obtenir l'utilisateur actuel dans ASP.NET MVC
Dans un modèle de formulaires, j'ai utilisé pour obtenir le courant de l'utilisateur connecté par:
Page.CurrentUser
Comment puis-je obtenir le courant de l'utilisateur à l'intérieur d'un contrôleur de classe dans ASP.NET MVC?
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin de l'utilisateur à partir de l'intérieur du contrôleur, utilisez le
User
propriété du Contrôleur. Si vous avez besoin de la vue, je voudrais remplir ce que vous avez spécifiquement besoin dans leViewData
, ou vous pouvez simplement appeler l'Utilisateur en tant que je pense que c'est une propriété deViewPage
.J'ai trouvé que
User
œuvres, qui est,User.Identity.Name
ouUser.IsInRole("Administrator")
.Imports System.Web
et de qualifier davantage avecHttpContext.Current.User.Identity.Name
, ou qualifiera directement à l'aide de la syntaxe complète:System.Web.HttpContext.Current.User.Identity.Name
Essayer
HttpContext.Current.User
.Vous pouvez obtenir le nom de l'utilisateur dans ASP.NET MVC4 comme ceci:
'System.Web.HttpContextBase' does not contain a definition for 'Current' and no extension method 'Current' accepting a first argument of type 'System.Web.HttpContextBase' could be found
, je vous suggère de faire un absolu appeler comme ça,System.Web.HttpContext.Current.User.Identity.Name
.Je réalise que c'est vraiment vieux, mais je suis juste de commencer avec ASP.NET MVC, donc je pensais que je mets mon grain de sel:
Request.IsAuthenticated
vous indique si l'utilisateur est authentifié.Page.User.Identity
vous donne l'identité de l'utilisateur connecté.J'utilise:
Je ne suis pas sûr que cela fonctionnera dans ASP.NET MVC, mais ça vaut le coup 🙂
arriver enregistré dans nom d'utilisateur:
System.Web.HttpContext.Current.User.Identity.Name
Afin de faire référence à un ID d'utilisateur créé à l'aide de l'authentification simple construit en ASP.NET MVC 4 dans un contrôleur à des fins de filtrage (qui est très utile si vous utilisez la base de données de premier et Entity Framework 5 pour générer le code-première des liaisons et des tables sont structurés de sorte qu'une clé étrangère avec le nom d'utilisateur est utilisé), vous pouvez utiliser
une fois que vous ajoutez une instruction d'utilisation
System.Security.Principal.WindowsIdentity.GetCurrent().Name
travaille dansMVC 5
. Cependant qui tire vers le haut le nom de domaine avec le nom de l'utilisateur. c'est à dire de domaine\nom d'utilisateurNom d'utilisateur:
Mais si vous avez besoin pour obtenir juste le numéro, vous pouvez utiliser:
Ainsi, vous pouvez obtenir directement l'ID de l'Utilisateur:
Cette page pourrait être ce que vous cherchez:
À L'Aide De La Page.De l'utilisateur.L'identité.Nom dans MVC3
Vous avez juste besoin
User.Identity.Name
.Utilisation
System.Security.Principal.WindowsIdentity.GetCurrent().Name
.Cette obtiendrez de l'actuel connecté à Windows de l'utilisateur.
Pour ce que ça vaut, dans ASP.NET MVC 3, vous pouvez simplement utiliser de l'Utilisateur qui renvoie l'utilisateur à la demande actuelle.
Si vous êtes à l'intérieur de votre page de connexion, dans LoginUser_LoggedIn cas, par exemple, Courant.De l'utilisateur.L'identité.Nom renverra une valeur vide, donc vous devez utiliser yourLoginControlName.Nom d'utilisateur de la propriété.
Nous pouvez utiliser le code suivant pour obtenir le courant de l'Utilisateur connecté dans ASP.Net MVC:
Aussi
Si il vous arrive de travailler dans Active Directory sur un intranet, voici quelques conseils:
(Windows Server 2012)
L'exécution de tout ce qui parle à une ANNONCE sur un serveur web requiert un tas de modifications et de la patience. Depuis lors de l'exécution sur un serveur web vs local IIS/IIS Express qu'il fonctionne dans le pool d'applications de l'identité ainsi, vous devez le configurer pour usurper l'identité de quiconque accède au site.
Comment obtenir de la session courante de l'utilisateur dans active directory lorsque votre ASP.NET MVC de l'application est en cours d'exécution sur un serveur web à l'intérieur du réseau:
Vous devez emballer tous les appels d'avoir à faire avec des "active directory contexte" dans la suite de sorte qu'il agit comme l'environnement d'hébergement pour obtenir les informations AD:
Vous devez également avoir
impersonate
la valeur true dans votre site web.config:Vous devez disposer de Windows authentification sur le web.config:
Vous pouvez utiliser le code suivant:
Dans Asp.net Mvc Identité 2,Vous pouvez obtenir le nom d'utilisateur par:
Dans le Gestionnaire des services IIS, en vertu de l'Authentification, désactiver:
1) L'Authentification Anonyme
2) Les Formes D'Authentification
Puis ajoutez les lignes suivantes à votre manette, afin de gérer les tests de rapport de déploiement de serveur: