﻿# 當 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";
```

**相關連結**

-   ASP.NET Error "The authentication mechanism is unknown"
