アプリケーション設定にユーザー名とパスワードを入力するのが良い考えであるかどうかをさまよっていますか?
そうでない場合、これらを保管するのに最適な場所はどこですか?
-ジョニー
アプリケーション設定にユーザー名とパスワードを入力するのが良い考えであるかどうかをさまよっていますか?
そうでない場合、これらを保管するのに最適な場所はどこですか?
-ジョニー
web.configは保護されたファイルであるため、直接アクセスすることはできません。おそらく、接続資格情報をそこに保存しても問題ありません。
ただし、もう少し進んで、web.configのappSettingsを暗号化することができます
構成ファイルは、データベース資格情報の詳細を保持するための理想的な場所になりますが、プレーンテキストで保存されるセキュリティが心配な場合は、asp.netでwebconfigファイルの特定のセクションを暗号化できます。関連するコマンドライン引数を提供することにより、aspnet_regiis.exeユーティリティを利用することによって実行されます。それ以外の場合は、「 WebConfigurationManager 」クラスを使用してコードを介して暗号化を実行することもできます。また、構成を読み取るためにセクションの保護を解除する必要はありません。そのセクションの設定では、ランタイムは、アプリケーションがプレーンテキスト値を読み取るために必要な復号化を実行します。
例:-aspnet_regiis.exe
C:\>aspnet_regiis -pdf "connectionStrings" "C:\Projects\My Site"
ここでは、pdf引数を使用してファイルパスを指定します。
例:-WebConfigurationManagerの使用
protected void toggleEncryption(object sender, EventArgs e)
{
Configuration config;
config = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection section;
section = config.GetSection("connectionStrings")
as ConnectionStringsSection;
if (section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
}
else
{
section.SectionInformation.ProtectSection(
"DataProtectionConfigurationProvider");
}
config.Save();
WriteMessage("connections protected = " +
section.SectionInformation.IsProtected);
}