NOTES-NetworkCredential Constructor for Domain Account

這問題之前曾遇過幾次,但處理得有些含糊,這回特別做了測試釐清。

【疑問】要用NetworkCredential設定存取身份時,網域帳號可否寫成"domainName\userName",例如: new NetworkCredential("domainName\\userName", "password") ?

不知為什麼,我一直記得這樣寫是可行的(也許因為Windows的登入視窗,可以選擇domainName\userName或將domainName寫到第三個欄位吧?),今天實地做了測試,答案是: (分別測試了Windows 2000/Windows 2003、在Web本機存取自己的Web、本網域/信任網域...)

不行!!! 請乖乖寫成new NetworkCredential("userName", "password", "domainName")

不過,為求方便,我們應該要允許使用者輸入"domainName\userName",然後在程式裡用以下方法快速拆解:
if (userName.Contains("\\")) {
    string[] p = userName.Split('\\');
    cred = new NetworkCredential(p[1], password, p[0]);
}

【網友經驗】

歡迎推文分享:
Published 28 January 2010 04:37 PM 由 Jeffrey
Filed under:


意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 

請輸入以上的數字:

搜尋

Go

<January 2010>
SunMonTueWedThuFriSat
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456
 
RSS
【工商服務】

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication