2010-07-12 40 views
0

我們允許我們的用戶使用NT帳戶名稱(域\帳戶)或UPN(帳戶@電子郵件,xxx)輸入Active Directory帳戶信息。我想寫一些代碼來驗證活動目錄中的帳戶,然後允許用戶繼續前進。請注意,我們不驗證密碼,只是帳戶名稱。驗證UPN和NT登錄名最簡單的方法是什麼?

我可以使用UserPrincipal.FindByIdentity,但是,這隻需要一個用戶名。

我可以使用.NET驗證任何格式的帳戶名嗎?或者我退居到從帳戶名解析出域以驗證用戶輸入的兩個部分?後面會有點混亂,不是嗎?

回答

1

嘗試創建從一個UPN WindowsIdentity

WindowsIdentity wi = new WindowsIdentity("[email protected]"); 

它將爲一個UPN在AD有效的成功,拋出無效者例外。驗證UPN的過程必須連接到AD並具有適當的訪問權限(即由於模擬上下文的委託限制而不允許匿名化)。

+0

感謝..什麼驗證NT格式不解析? – 2010-07-12 21:44:37

+0

相同。 WindowsIdentity接受所有有效的格式。 – 2010-07-12 22:10:32

相關問題