none
Entity Framework 的連線字串加密方式 RRS feed

  • 問題

  • 目前小弟想使用Entity Framework取代DAL(Data Access Layer)的部分,但不希望資料庫的密碼明碼出現在連線字串(ConnectionString)當中,所以想請教各位先進,目前Entity Framework在連接字串的加密方式應該要如何處理?

    目前小弟在msdn上只有找到「安全性考量」這篇相關的文章,但不是很清楚實作上應該怎麼做。

     

    開發環境:VS 2010 + MVC 3 + Entity Framework

    2011年8月22日 上午 08:55

解答

  • 可以參考下面的文章。

    加密和解密組態區段

    加密:

    aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"

    解密:

    aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    • 已編輯 TerryChuang 2011年8月22日 上午 11:41
    • 已標示為解答 Jianhom 2011年8月24日 上午 08:15
    2011年8月22日 上午 09:00
  • 這份文件的最後面有一個連結[Protecting Connection Information (ADO.NET)], 點進去可以看到另外一個連結[Connection Strings and Configuration Files (ADO.NET)], 裏面有詳細的做法
    • 已標示為解答 Jianhom 2011年8月24日 上午 08:15
    2011年8月23日 上午 06:40
  • 謝謝各位的回覆,但小弟使用TerryChuang兄的方式對IIS網站執行會不成功,後來是使用「實體路徑」的方式加解密就行了。:)

     

    加密:
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pef connectionStrings 網站實體路徑

     

    解密:
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pdf connectionStrings 網站實體路徑

     

     

     

    不好意思我沒講清楚,之前提供的範例是用在已經部署到IIS上的應用程式進行加解密。當然您時做成功的做法也是可行,就看您實際的應用為何。

    補充說明例如要加解密IIS上名稱為MyWebApp的應用程式,可以這麼做:

    加密:

    補充一篇Step by Step的文章,有興趣不妨參考看看。

    http://msdn.microsoft.com/zh-tw/library/dtkwfdky(v=vs.80).aspx


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    • 已標示為解答 Jianhom 2011年8月25日 上午 03:48
    2011年8月25日 上午 02:52

所有回覆