2

この仕事では、概念実証のために ASP.NET MVC アプリケーションに取り組んでいます。アプリケーションが実行する一部の操作では資格情報の送信が必要になるため、これらの資格情報を web.config の暗号化されたセクションに保存しています。私たちが抱えている問題は、ある開発者がデータを暗号化してコミットすると、ローカル コピーを更新してその web.config を使用しようとする次の開発者が例外を受け取ることです。これは、マシンが構成を復号化して使用できないためです。

これをどのように処理する必要がありますか?

4

3 に答える 3

1

過去に、機密性の高い資格情報、つまり接続文字列などに machine.config を使用していました。C:\Windows\Microsoft.Net\Framework\V4.0.30319\Config にあります。

これにより、コミットから資格情報を完全に省略することができます。各開発者および/またはサーバーに、必要な資格情報が設定された独自の machine.config があることを確認してください。

于 2012-08-27T16:59:58.307 に答える
1

セクションを暗号化するためにaspnet_regiis.exeを使用していると仮定しています。この場合、問題が発生している理由は、暗号化/復号化に使用されるキーがマシン上で異なるためです。

すべてのマシンで同じキーを使用できます。構成の観点からは、これはファームのセットアップに似ているため、このSO の質問の情報を使用できます。

または、開発者が資格情報にアクセスできるという固有の前提があるため、アプリが運用サーバーにデプロイされるまで暗号化を解除したままにし、そのセクションを暗号化します。これは、ユーザー名/パスワードが web.config でデータベース接続の接続文字列の一部として指定されている場合の一般的なソリューションです。接続は、暗号化の直前に展開プロセスの一部として運用 DB サーバーを反映​​するように更新されます。

于 2012-08-27T17:07:53.680 に答える