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