2009-06-23 71 views
1

我在寫一個WCF服務,它允許訪問基於AD用戶組的操作。如果登錄的用戶是groupA的一部分,請允許他執行operationA,但不要執行operationB等等。現在,爲了這個,我必須要通過NetworkCredentials的服務像使用Active Directory身份驗證的WCF服務

factory.Credentials.Windows.AllowedImpersonationLevel = 
        TokenImpersonationLevel.Identification; 
factory.Credentials.Windows.AllowNtlm = true; 
factory.Credentials.Windows.ClientCredential.username = "username"; 
factory.Credentials.Windows.ClientCredential.password = "pwd"; 
factory.Credentials.Windows.ClientCredential.domain = "mycompany.com"; 

我想的是,用戶不需要輸入他的憑據調用服務操作。它應該從Thread.CurrentPrincipal。任何人都可以在這方面幫助我瞭解如何傳遞網絡憑證。

回答

2

爲什麼不直接在綁定中指定安全模式爲「Windows集成」安全性?這是net.Tcp和wsHttp綁定的默認設置 - 當前登錄用戶的Windows憑據將通過網絡發送到服務器。

沒有必要再次明確地設置這些憑證,真的。

+0

你的意思是我應該從我的客戶端刪除上面的代碼?如果是,它仍然將ASPNET帳戶作爲默認憑證。你可以發佈一些代碼來幫助我嗎?謝謝回覆。 – Ashish 2009-06-23 10:33:28

相關問題