23

ソース管理に機密情報 (ユーザー名やパスワードなど) を保存しないという要件があります。.NET 4.5 MVC アプリを実行しているので、私の計画は、aspnet_regiis.exe と ASP.NET の組み込み機能を使用して web.config を暗号化することでした。ここでこれを機能させるのに問題はありませんが、私が抱えている問題は、機密情報も含まれているため、変換 (Web.Release.config など) も暗号化したいということです。私は周りを見回しましたが、これを行う方法は見当たりませんでした。これを達成する方法を知っている人はいますか?

4

7 に答える 7

9

これを機能させる方法は、各マシンに移動し、正しい接続文字列で web.config を暗号化し、新しく暗号化された接続文字列セクションを適切な web.cong 変換にコピーすることでした。それは大きな痛みですが、うまくいきます。

于 2014-07-28T19:52:07.260 に答える
2

以下を試してください。接続文字列を保護する例を示しました。System.Configuration を使用して、置き換えたいタグを置き換えます。

 ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
                configMap.ExeConfigFilename = modulePath + "Web.Release.config";
                System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
                System.Configuration.ConfigurationSection section = config.GetSection("connectionStrings");
                if (!section.SectionInformation.IsProtected)
                {
                                   section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
                    config.Save();
                }
于 2017-08-08T07:06:17.790 に答える
0

保護された構成を使用して機密情報を暗号化する方法が 1 つあります。それ以外の場合は、appdata 内の任意のフォルダーにファイルを保持し、アプリケーションを使用して暗号化する必要があります。

于 2017-08-04T07:24:33.450 に答える