今天又遇到一個奇特的狀況,之前一個已經跑了將近三年且運作正常的系統,由於該系統必須連接本機的 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";
相關連結