通过MembershipProvider在断开连接的WPF应用程序中认证和获取ActiveDirectory用户的角色

9

我有一个项目需求,需要在远程/断开连接的WPF应用程序中对ActiveDirectory进行身份验证。

可能有几种尝试方法,但使用ActiveDirectory的MembershipProvider的最佳方法是什么?

我需要:

  1. 验证用户是否存在。
  2. 获取AD用户的组和角色。

这需要在Active Directory所在网络之外的远程位置发生。

1个回答

15

你可以在WinForms或WPF应用程序中使用“客户端应用服务”(感谢微软提供了一个非常通用的名称,现在搜索帮助变得非常痛苦!)。

这允许你连接到一个可以验证登录的WCF服务。上面的链接有一个演练,展示了如何轻松地让它全部工作起来。一旦你有了一个可用的应用程序,你可以修改配置文件以指向不同的MembershipProvider和/或RoleProvider。

值得注意的是,开箱即用的解决方案包括一个名为ActiveDirectoryMembershipProvider的MembershipProvider,但没有适用于Active Directory的RoleProvider。

如果您确实需要获取角色(或组),并且正在使用.NET 4.0,则可以利用添加的新的Active Directory API使一切变得更加容易,即System.DirectoryServices.AccountManagement。对于最基本的Membership和Role服务,您将需要以下内容来创建自己的基本MembershipProvider和RoleProvider:

您可以根据需要实现API的一部分或全部功能,在新的AccountManagement命名空间中应该能找到所需的一切。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接