NOTES-NetworkCredential Constructor for Domain Account
0 |
這問題之前曾遇過幾次,但處理得有些含糊,這回特別做了測試釐清。
【疑問】要用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]);
}
【網友經驗】
Comments
Be the first to post a comment