我有一个项目要求,需要在远程/断开连接的WPF应用程序中根据ActiveDirectory进行身份验证。
可能有几种方法可以尝试执行此操作,但是使用ActiveDirectory的MembershipProvider的最佳方法是什么?
我需要:
这需要从Active Directory所在的网络外部的远程位置进行。
最佳答案
现在,在WinForms或WPF应用程序中,您可以利用“Client Application Services”(感谢MS提供非常通用的名称,现在寻求帮助非常痛苦!)。
这使您可以连接到可以验证登录名的WCF服务。上面的链接提供了一个演练,显示了使所有功能正常运行的容易程度,一旦您拥有可运行的应用程序,就可以修改配置以指向其他MembershipProvider和/或RoleProvider。
值得注意的是,现成的解决方案包括一个名为ActiveDirectoryMembershipProvider的MembershipProvider,但没有Active Directory的RoleProvider。
如果确实需要获得角色(或组)的能力,并且您正在使用.NET 4.0,则可以利用新添加的Active Directory API来简化一切,即System.DirectoryServices.AccountManagement。对于最基本的Membership and Role服务,您将需要以下内容来创建自己的基本MembershipProvider和RoleProvider:
您可以根据需要实现尽可能少的API,您应该在新的AccountManagement命名空间中找到所需的一切来完成此操作。
关于wpf - 通过成员资格提供程序在断开连接的WPF应用程序中验证和获取Active Directory用户的角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/324752/