gpt4 book ai didi

c# - 从 ASP.NET 查询 Active Directory 并将结果绑定(bind)到 ListView

转载 作者:行者123 更新时间:2023-11-30 21:18:55 24 4
gpt4 key购买 nike

我设法通过 AD 完成 ASP.NET 身份验证工作。现在,我想在 AD 中查询一个 OU 并显示结果ASP.NET 页面中的 ListView 或 GridView。

Here's the Domain Controller: dc.itlab.edu

The OU: UsersStudents

在组织单位 (OU) UsersStudents 中,有以下列:

名字、姓氏、Windows 2000 之前的登录名、名称、类型

我想查询 OU UsersStudents 中的 First Name、Last Name、Pre-Windows 2000 Logon Name 列并绑定(bind)结果到 ListView 或 GridView。

感谢您在 C# 或 VB.NET 中的建议。

最佳答案

如果您使用的是 .NET 3.5,或者可以升级到它 - 随着 System.DirectoryServices.AccountManagement 命名空间的引入,LDAP 的内容已经大大改进

它包含诸如 UserPrincipal 之类的类,它提供了大多数常用的 LDAP 属性作为属性。使用 PrincipalSearcher 和 QBE(按示例查询),您可以非常轻松地找到您感兴趣的用户(或其他对象)并将它们绑定(bind)到 ASP.NET GridView 。

要了解有关新的 .NET 3.5 内容的更多信息,请阅读 MSDN 杂志上的这篇优秀文章:

Managing Directory Security Principals in the .NET Framework 3.5 - January 2008 issue

更新:使用 .NET 3.5 接口(interface),您可以编写如下代码:

// define the content - domain name (second param) must be NetBIOS-style,
// third parameter is the container where to create the context for
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "ITLAB", "OU=UsersStudents,DC=dc,DC=itlab,DC=edu");

// define your "prototype" for the searcher - here: you want to search for
// users which have the .Enabled property set to true; you could define additional
// requirements here
UserPrincipal qbePrototype = new UserPrincipal(ctx);
qbePrototype.Enabled = true;

// create PrincipalSearcher based on that QBE prototype
PrincipalSearcher ps = new PrincipalSearcher(qbePrototype);

// find all matching Principals - in your case, those will be of type UserPrincipal
PrincipalSearchResult<Principal> results = ps.FindAll();

现在您应该能够将 results 直接绑定(bind)到 DataGridView 或其他东西,并为您要查找的列选择那些属性:

  • 名字 = UserPrincipal.GivenName
  • 姓氏 = UserPrincipal.Surname
  • Windows 2000 之前的登录名 = UserPrincipal.SamAccountName
  • 名字=名字
  • 类型 = ??你在这里是什么意思??

关于c# - 从 ASP.NET 查询 Active Directory 并将结果绑定(bind)到 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016116/

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