Authentification et obtention des rôles des utilisateurs Active Directory dans une application WPF déconnectée via le fournisseur d'appartenance

StackOverflow https://stackoverflow.com/questions/324752

Question

J'ai une exigence de projet pour laquelle je dois m'authentifier auprès d'ActiveDirectory dans une application WPF distante / déconnectée.

Il existe probablement plusieurs façons de le faire, mais quelle serait la meilleure approche en utilisant MembershipProvider d'ActiveDirectory?

J'ai besoin de:

  1. Authentifiez que l'utilisateur existe.
  2. obtenir les groupes et les rôles de l'utilisateur AD.

Cela doit se faire depuis un emplacement distant, en dehors du réseau sur lequel Active Directory réside.

Était-ce utile?

La solution

À partir d'une application WinForms ou WPF, vous pouvez désormais tirer parti de client. Services d'application " (Merci MS pour un nom très générique, il est maintenant très pénible de chercher de l'aide!).

Cela vous permet de vous connecter à un service WCF pouvant valider les connexions. Le lien ci-dessus présente une procédure pas à pas qui montre à quel point il est facile de tout faire fonctionner. Une fois que vous avez une application opérationnelle, vous pouvez modifier votre configuration pour qu'elle pointe vers un autre MembershipProvider et / ou RoleProvider.

Il convient de noter que la solution prête à l'emploi comprend un MembershipProvider nommé ActiveDirectoryMembershipProvider , mais il n'y a pas de fournisseur de rôle pour Active Directory.

Si vous souhaitez obtenir des rôles (ou des groupes) et que vous travaillez avec .NET 4.0, vous pouvez tirer parti de la nouvelle API Active Directory ajoutée qui simplifie grandement les choses, à savoir System.DirectoryServices.AccountManagement . Pour les services d'adhésion et de rôle les plus élémentaires, vous souhaiterez disposer des éléments suivants pour créer vos propres membres de base MembershipProvider et RoleProvider:

Vous pouvez implémenter autant ou autant d'API que nécessaire, vous devez trouver tout ce dont vous avez besoin dans le nouvel espace de noms AccountManagement pour le faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top