Active Directory 用户组成员身份 GroupPrincipal

2023-11-23

我正在尝试使用GroupPrincipal(的一部分System.DirectoryServices.AccountManagement名称空间)来填充字符串类型的列表,以便我可以检查用户是否是 Active Directory 组的成员。这是我迄今为止编写的编辑后的类:

public class ActiveDirectoryMembership
{
    private PrincipalContext context = new PrincipalContext(ContextType.Domain, Environment.UserDomainName);
    private List<string> GroupName {get;set;}

    public ActiveDirectoryMembership() 
    {
         //Code snipped - this part returns a list of users
         populateGroups();
    }

    private void populateGroups()
    {
        GroupPrincipal SearchGroup = GroupPrincipal.FindByIdentity(context, "Group Name");
        GroupName = new List<string>();
        foreach (UserPrincipal p in GroupName.GetMembers())
        {
           GroupName.add(p.SamAccountName);
        }
    }

那么,我哪里出错了?

提前致谢 :)


对代码的这种修改有效(我进行了测试以确保):

using System.DirectoryServices.AccountManagement;


    private static readonly string DomainName = "domaincontrollercomputer.domain.com";
    private static readonly string DomainContainer = "DC=DOMAIN,DC=COM";
    private static readonly string ADGroupName = "AD Group Name";
    private List<string> GroupName {get;set;}
      
    private void populateGroups()
    {
        using (var ctx = new PrincipalContext(ContextType.Domain, DomainName, DomainContainer))
        {
            using (var grp = GroupPrincipal.FindByIdentity(ctx, ADGroupName))
            {
                GroupName = new List<string>();
                foreach (var member in grp.GetMembers())
                {
                    GroupName.Add(member.SamAccountName);
                }
            }
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Active Directory 用户组成员身份 GroupPrincipal 的相关文章

  • MVC3 中的角色管理

    我想向应用程序添加一项功能 以便只有管理员才能创建用户 并且他可以向用户提供对特定页面的访问权限 他可以创建角色 可以为用户提供不同的角色 我正在使用 Visual Studio 2010 并在 MVC3 中构建此应用程序 请给我建议来弥补
  • 用于清理 openssl EVP_PKEY 私钥内存的 C 代码

    我开始学习 C C 中的 OpenSSL 编程 我遇到的一个问题是 如何安全地清除私钥的内存 例如 我可能有代码 EVP PKEY private key PEM read bio PrivateKey bio RSA r EVP PKEY
  • Linux中如何避免sleep调用因信号而中断?

    我在 Linux 中使用实时信号来通知串行端口中新数据的到达 不幸的是 这会导致睡眠呼叫在有信号时被中断 有人知道避免这种行为的方法吗 我尝试使用常规信号 SIGUSR1 但我不断得到相同的行为 来自 nanosleep 联机帮助页 nan
  • 关于我的编译器中缺少 stdafx.h(Windows 上的 mingw32)

    我有一个简单的问题 我注意到我的编译器中没有 stdafx h Windows 上的 mingw32 我应该拥有它吗 或者也许有办法绕过它 谢谢阅读 编辑 好的 这是我取出 stdafx h 的所有包含内容后的当前构建日志 http pas
  • 字节序和大小为 1 的位域

    我认为字节顺序不应该影响大小最多为 1 个字节的结构 但这是我的小端机器上的代码 include
  • 可空可选参数

    我在 asp net mvc 应用程序中使用带有 edmx 文件和 POCO 的实体框架 4 首先 我有一个映射到数据库中的表的人员类 public class Person public Int32 ID get set public s
  • C# 中的序列化和对象版本控制

    如果我想序列化一个对象 我必须使用 Serializable 属性和所有成员变量将被写入该文件 我不知道如何进行版本控制 例如如果我添加一个新的成员变量 重命名变量或仅删除变量 然后打开 反序列化 文件 如何确定对象 文件版本 以便我可以正
  • 如何存储指向将 Callable 对象作为其参数之一的函数模板的指针

    考虑以下示例 template
  • 哪种本机 dotNet 数据类型最适合传递 SQL Server HierarchyId 值?

    具体来说 我们有一个接受 HierarchyId 作为参数的 SQL Server 存储过程 并且通常我们的存储过程上有一个 SOAP 层 允许通过 SOAP 调用它们 SOAP 服务是使用 C 方法上的 WebMethod 属性来实现的
  • 如何在 RestSharp 中使用 PUT?

    我想使用 PUT 但我只能找到如何使用 POST 的示例 我要发送的json数据是使用这个cURL命令发送的curl i H Content Type application json X PUT d status 1 http 192 1
  • iTextSharp 从一页模板高效批量生成 PDF

    我正在使用 ITextSharp 生成多页 PDF 每个页面都有相同的模板 问题是 PDF 的物理大小会随着模板的大小而增长 I HAVE to use 阿克罗菲尔德 我怎么能够reduce最终文件大小 这是 pdf 处理程序的代码片段 p
  • CSV 提供的数据源第一列中存在奇数字符

    我有一个 CSV 文件 已添加到 Visual Studio 单元测试项目中 它有七列 如下所示 assessmentitemid reviewer1 reviewer2 reviewer3 reviewer4 reviewer5 revi
  • 拖动用户控件,但将其保留在 WPF 中其父级的边界内

    我有一个用户控件 正在将其拖动到网格内 Z Index 设置得相当高 这样我就可以将其保持在其他孩子之上 拖动控件效果很好 但如果用户想要将控件移到网格之外 它会允许这样做 How do I keep it from leaving the
  • C# P2P聊天应用程序设计

    我想创建一个不使用显式服务器的简单聊天应用程序 主要要求是用户可以同时与许多朋友聊天 就像在 Skype 等上一样 我在这里指的不是会议聊天 而是多个单独的聊天窗口 目前 我只想要一个 LAN 消息应用程序 但如果设计能够轻松扩展到 Int
  • C - 具有可变数量参数和命令行参数的函数

    我需要排序n按字典顺序排列的作为参数数量可变的函数的参数的字符串数量 在main函数中 字符串被读取为命令行参数 这是我的代码 include
  • 从用户控件访问父控件 - C#

    如何访问C winform 中用户控件的父控件 我使用以下代码 但它并不适用于所有类型的控件 例如 ListBox Control Co this TopLevelControl Controls Find label7 true Co 0
  • 关于捕获异常的良好实践

    我正在用 C 11 编写一个小程序 并且第一次真正使用异常 我有一个关于如何有效捕获异常的问题 经过一番谷歌搜索后我仍然没有答案 这是问题 通过 const 左值引用捕获异常还是通过 const 右值引用捕获异常 哪个更有效 或推荐 在代码
  • 从文本文件中读取行并存储到数组中

    如何从文本文件中读取行并将其存储到数组中 例如 我有一个包含 45 行不同行的文本文件 我的尝试 int main int a 45 ifstream myfile enroll assg txt if myfile cout lt lt
  • 在c#中搜索支持rar格式的压缩库

    我想在我的应用程序中添加功能来解压缩 并可选择压缩 各种格式的文件 我有支持 zip gzip 7zip 和 bzip2 的库 但还是没有找到支持rar的库 我知道 rar 是商业的 但也许有一些 net 库可用于解压缩 rar s 最好是
  • 查找文本中所有关键字的有效算法

    我有很多字符串 其中包含许多不同拼写的文本 我通过搜索关键字来标记这些字符串 如果找到关键字 我将使用该关键字的关联文本 假设搜索字符串可以包含文本 schw schwa 和 施瓦茨 我有三个关键字 全部解析为文本 schwarz 现在我正

随机推荐