Authentification ASP.NET MVC et Windows avec des rôles personnalisés
Je suis en train de mettre en œuvre l'authentification windows dans mon ASP.NET MVC2 application.
J'ai suivi toutes les étapes suggérées par la documentation officielle:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
J'ai spécifié l'Authentification NTLM. So far So good. Tout fonctionne très bien.
Je voudrais consulter les utilisateurs connectés à l'encontre de ma base de données.
Je voudrais récupérer des rôles de ma table, puis de gérer l'autorisation à l'aide d'un attribut personnalisé.
Je ne veux pas utiliser l'appartenance et les rôles de fournisseur.
Je'already avoir mes tables Utilisateurs/Rôles en place car ils ont été utilisé pour un Internet Application (c'est l'Intranet de l'App).
Dans mon Internet Application, j'ai eu un formulaire où l'utilisateur saisit les données. Le formulaire est posté à un contrôleur qui vérifie tout et crée un cookie avec l'utilisateur (et rôles) de l'utilisateur connecté.
Dans mon global.asax j'ai piégé le AuthenticateRequest cas où j'ai lu le cookie et de créer une entité personnalisée que j'utilise tous les plus de l'application pour vérifier les autorisations.
Comment puis-je faire mettre en œuvre des ce avec l'Authentification Windows?
source d'informationauteur LeftyX
Vous devez vous connecter pour publier un commentaire.
Il suffit de créer un nouveau directeur et de l'affecter à l'utilisateur et de fil en Mondial.asax (ou utiliser une action de filtre).
Si un utilisateur ne dispose pas d'un rôle qui correspond à, ils peuvent être exclus de l'application en utilisant le web.config authoirzation élément:
Juste pour ajouter à la réponse ci-dessus, j'Espère que ça économiser de fokes un certain temps.
J'ai un intranet MVC 5 site avec VS 2015.
Le code n'a pas fonctionné pour moi jusqu'à ce que la ligne du haut a été mis à jour avec HttpContext.Actuel.De l'utilisateur. Le site a me donner nulle référence à la HttpContext.Actuel.L'utilisateur si l'utilisateur n'est pas déjà créé dans la Base de données. En ajoutant .Utilisateur de la première ligne, il a contourné ce code lors du premier chargement et travaillé.