2017-06-23 3 views
0

Je suis relativement nouveau à MVC, j'ai besoin de récupérer le nom d'utilisateur et de le transmettre à la bibliothèque de ma société qui vérifie les informations d'identification de l'utilisateur.MVC 4 Windows Authentification

Web.config

<authentication mode="Windows" /> 
    <authorization> 
    <allow users="*"/> 
    <deny users="?"/> 
    </authorization> 

Contrôleur

[Authorize] 
    public class MVCAuthen : Controller 
    { 
     public string GetCredentials() 
     { 
      var userName = HttpContext.Current.User.Identity.Name; 
      string credential = library.Getcredential(userName); 

     return credential; 
    } 
} 

Ma question est que je continue à recevoir vide lorsque je tente de récupérer le nom d'utilisateur. Quelqu'un peut-il me dire ce que je fais mal ou comment je récupère le nom d'utilisateur?
Remarque: J'essaie de le faire localement depuis que j'essaie de le déboguer.

+0

Veuillez noter que la balise model-view-controller est destinée à des questions sur le modèle. Il existe une balise spécifique pour l'implémentation ASP.NET-MVC. –

Répondre

0

Vous devez d'abord utiliser un modèle d'application Internet ou Intranet.

Ensuite, sur le web.config, vous devez commenter ou supprimer l'authentification par formulaires et utiliser l'authentification Windows. Quelque chose comme ceci:

<-- 
<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 
--> 

<authentication mode="Windows" /> 

Et ajoutez ceci dans les « appsettings »

<appSettings> 
    <add key="autoFormsAuthentication" value="false" /> 
    <add key="enableSimpleMembership" value="false"/> 
</appSettings> 

Maintenant, allez vous Explorateur de solutions, cliquez droit sur le projet et aller aux propriétés. Là, vous devez changer l'authentification Windows pour activer.

Si vous ne souhaitez pas autoriser l'accès anonyme, vous pouvez également désactiver l'authentification anonyme. Une fois cela fait, vous pouvez ajouter le [Authorize] sur n'importe quel contrôleur ou action.

Ensuite, vous devriez être capable de vous connecter avec votre mot de passe Windows.

Si vous êtes en mesure de vous connecter et d'afficher la page, vous pouvez récupérer le nom d'utilisateur comme ceci.

var username = HttpContext.User.Identity.Name;