2012-02-27 123 views
1

在我的客戶端應用程序我都用Web服務UserNameOverTransport,所以我需要像客戶端設置的用戶名和密碼:WCF UserNameOverTransport最佳實踐,以存儲用戶名和密碼

client.ClientCredentials.UserName.UserName =「賬戶「; client.ClientCredentials.UserName.Password =「password」;

這是存儲用戶名和密碼的一些最佳實踐嗎?

從我的角度來看,在配置文件中存儲憑據並不是個好主意。

[更新] 當我問這個問題時,雖然WCF提供了一些標準功能來存儲配置文件的憑據,或者有能力在端點行爲的幫助下進行設置。

我找的例子是以下鏈路解決方案: http://blog.shutupandcode.net/?p=22

+0

是固定的所有客戶端的用戶名和密碼?如果是這種情況,那麼你可以讓他們在配置中,但一定要加密他們,解密部分應該在你的服務器上。 – Rajesh 2012-02-27 14:00:50

+0

不是,它不能爲所有客戶修復。 – 2012-02-27 15:00:33

+0

然後,這需要從每個客戶端的輸入,如網頁要求憑據或如果它的Windows應用程序,然後一個窗體要求憑據 – Rajesh 2012-02-27 17:04:58

回答

0
0

你並不需要用戶名和密碼存儲在配置。您通常在配置中存儲的是客戶端設置,例如端點,行爲和安全設置。

的用戶名和密碼,應該從代碼中進行設置,像你這樣的證明:

client.ClientCredentials.UserName.UserName = "account"; 
client.ClientCredentials.UserName.Password = "password"; 

這完全取決於你,你將得到這些價值觀和你如何去保護它

+0

這將是很好的保存更改憑據的能力,而無需重新構建。 – 2012-02-27 15:01:12

+2

@ Vadim911不要硬編碼任何東西,只要從對你來說很方便的地方閱讀。你可以將它加密到某個地方,或者讓用戶輸入它。這只是從代碼中設置它的方式。 – 2012-02-27 15:03:54