0

スタンドアロンの WPF クライアントで Entity Framework 5 を使用しています。接続文字列にあるデータベース パスワードがメモリ内のプレーン テキストにならないようにエンティティ フレームワークを構成するにはどうすればよいですか?

4

1 に答える 1

1

データベースで接続文字列のセキュリティを処理するには、主に 2 つの方法があります。

@MUG4N と @BNicoll によって正しく指摘されているように、app.config (または web.config) で接続文字列を暗号化すると、設定を簡単に読み取ることができなくなります。ただし、この場合、実際のユーザー名とパスワードは引き続きマシンに保存されます。つまり、少し作業すれば、平文のパスワードを取得できます。

私の意見では、はるかに優れたソリューションは、アプリケーションを実行しているアカウントを使用して SQL で直接認証することです。これは、ユーザー名/パスワードが認証サイクルで使用されることはなく、代わりに NTLM または kerberos トークン ベースの認証が使用されることを意味します。これははるかに安全で、復号化可能なパスワードの保存を必要としません。

この方法を使用するには、ドメインにいることを確認し、アプリを実行しているユーザー アカウントにデータベースへのアクセス許可を付与する必要があります。次に、接続文字列のユーザー名/パスワードを次のように置き換える必要がありますIntegrated Security=SSPI;

残念ながら、この方法では Windows ドメインで実行している必要がありますが、これはあなたの場合には適切ではないかもしれません。

接続文字列のセキュリティに関する MS ホワイトペーパーを確認してください

于 2013-02-22T22:53:15.640 に答える