我需要访问Active Directory以获取有关客户所属组的信息。我的项目是使用C#的ASP.Net MVC应用程序。我从来没有针对Active Directory编程,并且需要一些建议,最好的方法是开始使用什么安全模型来访问信息,也许指向我一些很好的教程。
解决方法
由于您使用MVC,您可以访问.NET 3.5中的新
System.DirectoryServices.AccountManagement命名空间。在DirectoryServices本身中,这些类应该优先于较旧的类,因为它们使用起来更简单。有一些问题尚未在3.5(例如查询组中的1500个成员限制)中解决,但是我确信这些已经在.NET 4.0中被修复了。对于大多数任务,新课程工作得很好。
using (var context = new PrincipalContext( ContextType.Domain )) { using (var user = UserPrincipal.FindByIdentity( context,"username" )) { var groups = user.GetAuthorizationGroups(); ... } }