1

我在我的 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); 
    }
}
4

0 回答 0