0

我在内部应用程序上有一段遗留代码需要修改。在我重做整个事情之前,有一种简单的方法可以完成与 AD 的绑定,其中 OU 可以根据正在验证的用户而有所不同。设置非常标准:

my($mesg) = $ldap->bind ("cn=$uid,ou=Workers,ou=Domain Users,dc=something,dc=com", password => "$psswd");

并非所有用户都是“工人”OU。有些在不同的OU中......基本上我想知道是否有一个“if-then-else”例程用于从perl绑定到AD。如果可以避免的话,我宁愿不设置第三方帐户来搜索它......但我读过的几乎所有文档似乎都指向这种登录方法。有什么想法或建议吗?

4

2 回答 2

1

这被称为“简单”绑定请求,它将专有名称和专有名称的凭据作为参数。绑定请求可以包含零个或多个请求控件。构造一个$distinguishedName在传输绑定请求之前调用的变量,传输绑定请求,处理响应,并处理响应中包含的任何响应控件:

my $namingContext = "ou=domain users,dc=something,dc=com";
my $distinguishedName = sprintf "%s,%s,%s",$cn,$ou,$namingContext;
my $bindResult = $ldap->bind($distinguishedName,$credentials);
# handle any response controls attached to the bind response ...
于 2012-04-24T08:58:42.117 回答
1

您无需为 AD 指定完整的 DN。用户名应该足够了。

于 2012-04-23T20:47:47.620 回答