我没有使用Active Directory的经验。
我正在使用Delphi开发一个与Active Directory交互的应用程序。我需要知道测试Active Directory用户是否属于指定组的最佳方法。我该怎么做?
我正在使用Delphi 2006 BDS。
答案 0 :(得分:2)
冒着自我推销投票的风险,我想与你分享netAPI.pas。
对于活动目录没有丰富的经验且没有7以上的Delphi版本,我认为您可以使用以下代码获取特定组中的所有用户:
GetNetGroupUsers([ServerName], [GroupName], [StringList not nil], False, True);
探索UserName的StringList。
答案 1 :(得分:1)
您应该考虑嵌套组,最简单的方法是使用包含(计算的)SID数组(包括嵌套组)的tokenGroups属性。从那里你可以将这个sid列表转换为名称(通过将其提供给DsCrackNames)或从你想要检查的组中获取SID并比较sids(EqualSid)