2012-08-04 34 views
1

我在這個C#Windows應用程序的工作(.NET 3.5,VS 2008),我要創建一個exe文件,沒有問題,到現在爲止, 的應用程序消耗的必發交易所API,這就要求「LOGIN」第一件事獲得會話令牌用於任何其它服務,如何在安裝時在c#windows應用程序中保存用戶名和密碼?

所以我的團隊領導希望我在以致─

  1. 的應用部署應用程序應該要求用戶名和密碼的客戶端在安裝時間
  2. 如果用戶輸入用戶名和密碼,則應用程序每次都會直接啓動,並使用提供的用戶名和密碼自動將 登錄到Web服務。
  3. 如果用戶不進入用戶/密碼在安裝時,則安裝後,應用程序必須要求輸入用戶名密碼每次 一次被啓動。

所以我的主要查詢是: 如何獲得並在安裝時存儲的用戶名/密碼

我試圖把它寫在App.config,但它與我的Web服務的設置弄亂莫名其妙:/

+0

您確定要存儲密碼嗎? – 2012-08-04 09:54:44

+0

它是安裝時的嚴格要求,還是可以在應用程序第一次啓動時顯示對話框?兩者都是可能的,但在安裝過程中完成自定義操作會更麻煩。 – 2012-08-04 09:55:56

+0

他希望只在安裝時完成,我不知道如何做到這一點 – 2012-08-04 10:41:56

回答

1

只是一對夫婦的事情要注意。

首先,文件的app.config通常不被認爲安全的媒體,所以你不應該存儲的用戶名/在他們的密碼(特別是如果他們沒有被加密)

在存儲這些細節一個共同的地方Windows應用程序在註冊表內(可以被授權降低安全風險)。

所有密碼應該被存儲在一個加密格式。不幸的是,鑑於這需要與外部系統一起使用,這種加密將需要是可逆的。

+0

+1,這是一個有用的通知。我的補充是,總是重用Windows提供的東西,http://stackoverflow.com/questions/1018575/login-dialog-for-windows-client-application – 2012-08-04 10:05:15

+0

@LexLi是完全同意重用>重新編碼:) – 2012-08-04 10:06:39

+0

我haven'之前曾經使用過註冊表...我可以在安裝時將註冊表存儲在註冊表中嗎?任何教程或代碼片段將有助於請.... ..../ – 2012-08-04 10:49:47

1

我認爲你可以用一個稍微不同的方式做到這一點:

  • 創建安裝程序,將安裝程序
  • 在安裝結束與交換機憑證(/credentials
  • 此命令行開關將允許用戶輸入啓動您的計劃,節省認證證書

您可以保存在settings憑據當前用戶app.config文件... 當然,你必須制定鏈接到/credentials選項中的所有邏輯(形式,ECC)。

+0

我不知道(/憑據)的使用,你可以提示我在正確的使用方向: – 2012-08-04 10:45:29

+0

/憑證是例如,你可以定義你想要的任何標誌...... – aleroot 2012-08-04 11:00:45

相關問題