gpt4 book ai didi

c++ - 检查一组 SID 以了解给定组中的成员身份

转载 作者:行者123 更新时间:2023-11-28 04:56:15 25 4
gpt4 key购买 nike

我有一组 SID 值,如果它们在给定组中则需要显示。我知道如果我有 token 句柄,我可以使用 CheckTokenMembership 来做到这一点。如何从 Windows 中的 SID 获取 token 句柄?

最佳答案

  1. 使用LookupAccountSid获取SID的账号
  2. 使用 NetUserGetGroups 获取此帐户所属的所有组。
    编辑 来自 eryksun 的注释:首先检查目标组的 SID。如果它是 SidTypeGroup,请调用 NetUserGetGroups。如果是 SidTypeAlias,调用 NetUserGetLocalGroups(也称为别名,例如“BUILTIN\Administrators”)
  3. 使用 LookupAccountName 获取组的 SID。
  4. 检查帐户 SID(第 1 步)是否是 SID 集合(第 3 步)的成员。使用 EqualSid 函数。

您可以在旧的 win32.mvps.org 页面上找到合适的旧代码。可惜页面不见了。但 Wayback 机器有帮助。这里是旧版 fksec samples 的链接

你在那里找到了一个易于使用的 sid 类。它还提供了 sid::MemberOfsid::Members 函数。该代码不是我的风格,但它可以工作。

关于c++ - 检查一组 SID 以了解给定组中的成员身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47078695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com