[英].Net's Directory Services throws a strange exception
我有一個用於檢查用戶憑據的小型C#解決方案。 它適用於我的兩個隊友,但在我的電腦上我得到了一個例外。
相關代碼:
PrincipalContext context = new PrincipalContext(ContextType.Domain);
if (context.ValidateCredentials(System.Environment.UserDomainName + "\\" + usr, pwd))
return true;
else
return false;
例外是:
DirectoryOperationException,“服務器無法處理目錄請求。”。
我嘗試使用顯式服務器名稱和636端口號創建上下文,但這也沒有幫助。
有任何想法嗎?
我也使用IIS Express和VS 2010解決了這個問題。為我修復的是對另一個線程的評論。
但我會保存你的點擊和搜索... :)只需將ContextOpations.Negotiate添加到你驗證如下所示的憑據調用。
bool valid = context.ValidateCredentials(user, pass, ***ContextOptions.Negotiate***);
我有這個問題:我的開發機器上的東西正在工作但是在服務器上沒有工作。 原來,服務器上的IIS設置為以LocalMachine身份運行。 我把它改為NetworkService(默認),事情就開始了。
所以基本上檢查應用程序池的用戶是否在IIS上運行。
我不得不創建一個新的應用程序池並將其分配給.NET 2.0,然后將新的應用程序池分配給我們的Web應用程序,它開始工作。 我們有.NET 3.5 SP2,所以這個修補程序對我們來說並不理想。 由於WWW服務通常是Local System,我也對此提出質疑。 但由於它與.NET和安全相關,我先在應用程序池中進行了一次嘗試,然后才有效。
也許你需要這個修補程序?
您是管理員或運行您的服務的ID是PC上的管理員嗎?
我認為你已經調查了這個:
“你可能會收到一個不太有用的DirectoryOperationException(”服務器無法處理目錄請求。“)對此不太有趣的是它甚至沒有嘗試與服務器通信。解決方案是添加端口因此,我沒有通過“Server”來打開LdapConnection,而是通過“server:636”。順便說一下,LDAPS是端口636 - 而不是LDAP使用的389端口。“
好的,我不希望Win7 / .NET 3.5需要那個補丁。 如何在這個問題中提供的信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.