网页获取"活动目录"里信息时的报错:服务器不可操作

DirectoryEntry de = new DirectoryEntry("LDAP://" + DomainName,userName,passWord);        
DirectorySearcher ds = new DirectorySearcher();        
ds.SearchRoot = de;    
ds.Filter = ("(objectClass=user)");        
SearchResults results = ds.FindAll();    
foreach (SearchResult result in results)        
{        
            string name = result.GetDirectoryEntry().Name.ToString();        
            Page.Response.Write(name);    
}
 
但是在执行string name = result.GetDirectoryEntry().Name.ToString();
时报错:System.Runtime.InteropServices.COMException: 该服务器不可操作。
   问题可能出在没有足够的权限调用System.DirectoryServices.
   DirectorySearcher类是运行在它的SearchRoot:de的凭证下,但是result.GetDirectoryEntry(),Name不是,它是通过使用调用进程的安全上下文调用的result.GetDirectoryEntry().
   解决办法
DirectoryEntry dirEntry = new DirectoryEntry( result.Path, searchRoot.Username, searchRoot.Password, searchRoot.AuthenticationType ) ;
参考:http://support.microsoft.com/kb/327442/en-us
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章