【发布时间】:2013-08-17 12:19:25
【问题描述】:
我正在尝试查询域以确定是否:
- 用户是有效用户(并且密码正确)
- 用户已启用
- 用户属于组 x
我的开发机器不属于这个域。 我想通过我的应用程序指定用户名和密码
我正在使用 System.DirectoryServices.AccountManagement 命名空间,因为这似乎是最有效的方法,但是我一直在努力从我的域控制器中获取最基本的信息。
我可以通过其他工具探索 LDAP。
第一个测试是收集用户信息,下面的代码对用户返回null。 然而,用户是有效的。
我做错了什么?
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "server","CN=Users,DC=doom,DC=home", "ldapuser","password");
// get user contect
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, IdentityType.Name, username);
//is user locked?
var locked = user.Enabled;
更新:
如下定义了绑定方法,我现在收到错误 “无法检索有关域的信息 (1355)。”
var ctx = new PrincipalContext(ContextType.Domain, "server", "DC=doom,DC=home", ContextOptions.SimpleBind, "ldapuser", "password");
【问题讨论】:
-
这个博客应该为你指明正确的方向stackoverflow.com/questions/3929561/…
标签: c# active-directory directoryservices