網頁獲取"活動目錄"裏信息時的報錯:服務器不可操作

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章