質問: new SqlConnection(ConnectionString())) { return db.Query(Sql).ToList(); } ``` 接続文字列には、データベース名とログイン情報が含まれます。私は、データベースサーバーへの接続を確立している間に、その情報のいずれかが他の誰かに見えてしまうのではないかと疑問に思っています。
回答: 転送中の場合:SQL Serverに暗号化された接続を使用させることができます - インプロセスでは、キーパーツはデフォルトで削除されるため、 `SqlConnection`インスタンスを使用して他のコードで使用することはほとんどありません。これは`SqlConnection`のconnection-stringの "Persist Security Info"パラメータに関連しています。デフォルトはfalseです。基本的に、 `.ConnectionString`プロパティは提供された資格情報を公開しません。 `string`はある時点でメモリに残っているため、プロセスやメモリ解析ツールへの未加工のアクセス権を持っている人はまだ取得できます。 https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.110).aspxを.aspx)参照してください。.aspx) しかし、SSPI経由でWindows認証を使用することもできます。これにより、app-domainの実行中のユーザーID情報を使用して接続します。上記と同じリンクですが、「統合セキュリティ」の接続文字列パラメータを参照してください。