2009-08-26 6 views
1

Je présentais mon application WPF à un client et il m'a demandé si j'avais LDAP ou si je pouvais l'intégrer à Active Directory (AD).Intégration LDAP (AD) pour l'application WPF

Mon application dispose de sa propre sécurité d'accès et de sécurité d'accès aux données. J'utilise mon cadre de sécurité pour m'authentifier et donner des droits sur l'accès à l'écran et aux données. Le client m'a demandé si je pouvais ajouter ou intégrer avec Active Directory. Il a besoin que l'utilisateur se souvienne de son mot de passe Windows et non de mon application. Je pourrais implémenter une logique Active Directory mais je dois modifier mon application pour associer un utilisateur Active Directory aux utilisateurs de mon application. Lorsque l'utilisateur AD se connecte, il est authentifié et associé comme utilisateur local car l'utilisateur local a besoin être associé à ses paramètres de sécurité et d'accès aux données. Est-ce le chemin à parcourir? Je vais utiliser des classes .NET 3.5 pour cela, etc. Cela signifierait que l'administrateur de mon application devrait aller à l'écran de l'utilisateur et associer l'utilisateur local à l'utilisateur LDAP également.

Répondre

8

Non, je ne pense pas que ce que vous proposez semble être la bonne chose à faire.

Au contraire, vous devez fonder la sécurité sur une architecture connectable (par exemple IPrincipal), et avoir une certaine façon dont votre application peut être configurée pour utiliser votre propre cadre de sécurité ou simplement WindowsPrincipal (qui dérive de IPrincipal):

Vous pouvez, par exemple, avoir un paramètre de configuration qui spécifie le fournisseur de sécurité à utiliser. Si configuré pour utiliser votre propre système, il va demander à l'utilisateur des informations d'identification et remplir Thread.CurrentPrincipal avec une instance basée sur votre système.

Si configuré pour utiliser AD, il va simplement définir Thread.CurrentPrincipal à WindowsIdentity.GetCurrent() (enveloppé dans WindowsPrincipal). Jetez un coup d'œil à la façon dont ASP.NET ou WCF traite de la sécurité - c'est essentiellement ce qu'ils font.

+0

+1 pour l'architecture connectable! C'est la voie à suivre pour rester flexible –

+0

En fait le framework de sécurité que j'ai développé est connectable et est AOP.So quel est l'avantage si j'hérite d'IPrincipal, j'ai déjà mes interfaces (framework) – abmv

+1

@abmv: IPrincipal est juste la manière standard Si vous l'adoptez, vous obtiendrez beaucoup d'autres choses essentiellement gratuitement - par exemple l'intégration AD, qui est simplement fournie directement par WindowsPrincipal. –