我在asp.net应用程序中收到异常行为。我有使用目录服务的代码来查找给定的,经过身份验证的用户的AD组。代码就像......
string username = "user";
string domain = "LDAP://DC=domain,DC=com";
DirectorySearcher search = new DirectorySearcher(domain);
search.Filter = "(SAMAccountName=" + username + ")";
然后我查询并获取给定用户的组列表。问题是代码正在接收组列表作为字符串列表。使用我们最新版本的软件,我们开始以字节[]的形式接收组列表。
系统将返回字符串,突然返回byte []然后重新启动它会再次返回字符串。
有人有什么想法吗?
(marc_s)添加了代码示例:
DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + ldapSearchBase);
DirectorySearcher userSearcher = new DirectorySearcher(dirEntry)
{ SearchScope = SearchScope.Subtree,
CacheResults = false,
Filter = ("(" + txtLdapSearchNameFilter.Text + "=" + userName + ")")
};
userResult = userSearcher.FindOne();
ResultPropertyValueCollection valCol = userResult.Properties["memberOf"];
foreach (object val in valCol)
{
if (val is string)
{
distName = val.ToString();
}
else
{
distName = enc.GetString((Byte[])val);
}
}