2

SQL Server 2005 を使用する Windows アプリケーションを展開しています。プログラムは SQL 認証を使用します。

私の質問は、ユーザー名/パスワードがわからない場合、接続文字列をどのように処理するのですか? これを暗号化されたファイルからロードしますか? それとも、これを処理するための規定はすでにありますか?

4

4 に答える 4

2

ユーザーがログインの詳細 (ユーザー名とパスワード) を提供する場合は、アプリでそれらを入力する機能を提供する必要があります。たとえば、これらの詳細を尋ねるダイアログを表示します。次に、ユーザーが指定したこれらの値を使用して、コードで接続文字列を作成できます。

または、すべてのユーザーが単一の SQL アカウントを使用して接続する場合、ユーザーから隠したい場合は、暗号化を使用して app.config ファイルに接続文字列を配置できます。方法の例については、cmsjr の回答を参照してください。これをする。

または、これを内部ドメイン (イントラネット) で開発している場合は、データベースを統合セキュリティに切り替えて、ユーザー ドメイン アカウントをデータベース サーバー上の関連するアクセス グループに配置します。そうすれば、ユーザー名やパスワードの収集についてまったく心配する必要がなくなります。

于 2009-01-18T12:54:55.973 に答える
0

エンドユーザーが何もする必要のないパスワードを提供する場合は、構成ファイルにユーザー名/パスワードを保存しないでください。エンド ユーザーにパスワードを提供してほしくない場合は、インストール時に設定ファイルに入れることができます。ただし、ユーザー名を変更する必要があり、接続文字列を暗号化している場合、これは問題になる可能性があります。

于 2009-01-17T15:15:18.687 に答える
0

構成のセクションの暗号化は、Windows アプリの場合、Web アプリの場合ほど単純ではありませんが、確実に実行可能です。これがサンプルです。

于 2009-01-17T15:17:48.807 に答える
0

ユーザーが入力する可能性のある「奇妙な」文字のユーザー名/パスワードを確認してください。あなたが望む最後のことは、接続文字列を変更することです。次に、基本的にはドライバー (ODBC を使用している場合)、データベース、サーバーを指定するだけですが、ユーザー名/パスワードおよび信頼できる接続情報はすべて除外します。次に、 username= と password= を追加するだけで、最後にユーザーが入力したものと同じに設定されます。ただし、セミコロンに注意してください。ユーザー名/パスワードとtrusted_connection = trueの両方がある場合にどうなるかを試したことはありません。

于 2009-01-18T13:18:06.160 に答える