查询用户是否是组的成员

发布于 2024-11-09 15:46:43 字数 164 浏览 3 评论 0原文

我没有使用 Active Directory 的经验。

我正在使用 Delphi 开发一个与 Active Directory 交互的应用程序。我需要知道测试 Active Directory 用户是否属于指定组的最佳方法。我该怎么做?

我正在使用 Delphi 2006 BDS。

I have no experience with Active Directory.

I am using Delphi to develop an application which interacts with Active Directory. I need to know the best way to test whether an Active Directory user belongs to a specified group. How do I do that?

I'm using Delphi 2006 BDS.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九歌凝 2024-11-16 15:46:43

我想与您分享 NLDNetAPI.pas

由于没有丰富的活动目录经验,并且没有 7 以上的 Delphi 版本,我确实认为您可以使用以下代码从特定组中获取所有用户:

GetNetGroupUsers([ServerName], [GroupName], [StringList not nil], False, True);

探索您的 UserName 的 StringList。

I'd like to share you NLDNetAPI.pas.

Having no extensive experience with active directory and not being in the possession of a Delphi version above 7, I do suppose that you could obtain all the users from a particular group with the following code:

GetNetGroupUsers([ServerName], [GroupName], [StringList not nil], False, True);

Explore that StringList for your UserName.

雨夜星沙 2024-11-16 15:46:43

您应该考虑嵌套组,最简单的方法是使用 tokenGroups 属性,包含(计算的)SID 数组(包括嵌套组)。从那里您可以将此 sids 列表转换为名称(通过将其提供给 DsCrackNames)或从您要检查并比较 sids 的组获取 SID (EqualSid)

You should take nested groups into account, the easiest way is to use the tokenGroups attribute that contains a (computed) array of SID's (including nested groups). From there you can either convert this list of sids to names (by feeding it to DsCrackNames) or get the SID from the group you wish to check and compare sids (EqualSid)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文