The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

當 System.DirectoryServices 發生「驗證機制不明」的錯誤

今天又遇到一個奇特的狀況,之前一個已經跑了將近三年且運作正常的系統,由於該系統必須連接本機的 ADAM 進行身份驗證,卻突然間開始出現【驗證機制不明】的錯誤,讓我丈二金剛摸不著頭緒。

中文錯誤訊息如下

System.Runtime.InteropServices.COMException: 驗證機制不明。

英文錯誤訊息如下

System.Runtime.InteropServices.COMException: The authentication mechanism is unknown.

由於程式在進行任何 AD 節點(Node)操作時都必須先透過 Binding 的程序,並傳入帳號密碼登入驗證:

DirectoryEntry dnNode = new DirectoryEntry(BasePath + mCurrentDN, Username, Password);

而我傳入的帳號密碼一直都沒有加上 Domain\ 的部分,例如:

string Username = "LoginUser";

結果,解決這個問題的方法只要加上本機電腦的名稱即可:

string Username = "COMPUTERNAME\LoginUser";

相關連結