10
votes

Comment puis-je fournir une authentification ASP.NET FORMULES UX lors de l'utilisation de Fournisseurs de rôle et d'authentification Active Directory?

est-il possible d'utiliser ce fournisseur de rôle aspnetwindowstokenroleProvider avec ASP.NET FORMES Authentification (via cet élémentProvider System.Web.Security.AcdifiéRecToryMembéroProvider )?

Il semble fonctionner uniquement avec , est-il possible de l'utiliser avec des formulaires?

arrière-plan - L'objectif ici est de fournir à ASP.NET FORMULES UX lors de l'utilisation de Active Directory comme système d'authentification à terme. S'il y a un autre moyen facile de le faire en utilisant des technologies intégrées, c'est génial et j'aimerais entendre parler de cela aussi.

mise à jour

Je devrais dire que j'ai l'authentification fonctionnant, ce que je me lance d'ajouter un niveau de contrôle granulaire (tel que des rôles).

Actuellement, je dois configurer ma connexion Active Directory pour pointer vers une unité d'utilisateur spécifique dans mon domaine, ce qui limite l'accès aux utilisateurs uniquement physiquement dans cet Ou - ce que j'aimerais, c'est de pointer ma connexion Active Directory à l'ensemble Domaine et restreindre l'accès basé sur l'adhésion au groupe (Rôles AKA) Cela fonctionne si j'utilise l'authentification Windows - mais j'aimerais avoir le meilleur des deux mondes, est-ce possible sans écrire mon propre projet de rôle?


1 commentaires

Basé sur votre paragraphe "Contexte", il ressemble à ce tutoriel est ce dont vous avez besoin: - msdn.microsoft.com/en-us/library/ms998360.aspx son appelé "Comment: utiliser l'authentification des formulaires avec Active Directory dans ASP.NET 2.0" Ne vous inquiétez pas de l'élément 2.0 si vous utilisez un Version plus récente - indique simplement la version minimale requise.


3 Réponses :


0
votes

Oui, vous avez raison; Cela fonctionnera uniquement avec l'authentification des formulaires Windows. Vous pouvez le confirmer ici: http://msdn.microsoft.com/fr- US / Bibliothèque / System.Web.Security.windowstokenRoleProvider.aspx

juste une suggestion. Essayez AutorizeStoreroleProvider avec Azman (responsable de l'autorisation). Cela a fonctionné pour moi (il y a longtemps, donc je ne me souviens pas beaucoup).


3 commentaires

Azman est-il intégré? Ou est-ce une nouvelle / complément de téléchargement / d'installation supplémentaire? Si oui, où?


Le «gestionnaire d'autorisations» est livré avec Windows Server. Il suffit d'importer ses DLL vers votre projet et vous êtes prêt à partir. :)


Cochez cette URL: msdn.microsoft.com/en-us/library/ms998336. ASPX Il explique tout le processus, puisque l'installation AZMAN.



6
votes

Comme d'autres personnes ont mentionné, vous ne pouvez pas utiliser le activedirectoryMembershiprovider avec le aspnetwindowstokenroleProvider . Si vous souhaitez utiliser l'ADMP avec l'authentification des formulaires, vous avez quelques choix:

  1. Utilisez le AutorisationManager Aka Azman. - AzMan est intégré dans Windows 2003+ et peut interagir avec des groupes Active Directory. De plus, il y a un autorisationStoreroleProvider intégré à .NET 2.0+ que vous pouvez utiliser pour interagir avec elle. Azman travaille sur la tâche, les opérations et les rôles dans lesquels vraisemblablement votre demande serait codée pour agir sur des tâches spécifiques qui pourraient ensuite être regroupées dans des opérations et que vous pouvez alors créer des rôles qui ont le pouvoir d'effectuer diverses opérations. Il existe une application de gestion qui est installée lorsque vous installez AZman que vous pouvez utiliser pour gérer les tâches, les opérations et les rôles. Cependant, il y a des inconvénients à Azman. Premièrement, le autorisationStoreroleProvider ne reconnaît pas les tâches. Il charge plutôt la liste rôles avec une liste d'opérations. Ainsi, sauf si vous créez une version personnalisée du fournisseur, vos applications devraient rechercher des noms d'exploitation au lieu des noms de tâches. Deuxièmement, il peut être un ours de travailler avec cette interaction, au plus bas niveau, est toujours via com. À moins que vous souhaitiez que vos administrateurs doivent utiliser l'outil AZMAN, vous devrez écrire vos propres pages pour gérer les opérations, les rôles et l'adhésion à des rôles.

  2. Utilisez le SqlRoleProvider et la carte des rôles aux noms d'utilisateur. L'avantage de cette solution est qu'il est très simple à mettre en œuvre. Vous pouvez également l'utiliser hors de la boîte car le rôle proviseur fonctionne sur le nom d'utilisateur et non sur IDERID. Dans votre code, vous voulez simplement vérifier l'ISINROLE pour déterminer si l'utilisateur donné avait été abandonné dans un rôle que votre code reconnaît. L'inconvénient importante est qu'il est adapté aux noms d'utilisateur uniquement et non à des groupes d'annonces et il n'y a donc aucun moyen pour un administrateur d'utiliser les outils publicitaires pour gérer les utilisateurs. Au lieu de cela, vous devez écrire une console de gestion pour gérer l'appartenance à un rôle. De plus, la modification d'un nom d'utilisateur au niveau de la publicité nécessiterait une mise à jour de la liste des noms d'utilisateur connus de votre application.

  3. Ecrire (ou trouver) un RoleProvider AD personnalisé qui honore des groupes AD. Rédaction d'un fournisseur de rôle personnalisé n'est pas pour la faiblesse de cœur, mais permet de gérer les administrateurs de gérer l'adhésion à l'utilisation de leurs outils publicitaires existants.


0 commentaires

2
votes

Implémentez votre propre adauthorizeattribute en héritant à partir de AutorizeAretribute et de remplacement autorizecore . C'est beaucoup plus facile que de mettre en œuvre votre propre fournisseur de rôle ou d'installer et de configurer Azman.

Voir mon exemple ici: ASP .NET MVC Autorisation avec des groupes Active Directory .


0 commentaires