5

現在、2台のサーバーをセットアップしています。1つはWinServer08を実行しているWebサーバーで、もう1つはWinServer08でSQLServer08を実行しているデータベースサーバーです。

現在、データベース名、server ip、db user、db pwdで作成した接続文字列を使用してデータベースの読み取り/書き込みができるように、サイトを設定しています。私が作成したdbユーザーは、データベースに「public」ロール設定があり(db所有者ではありません)、execストアドプロシージャを実行できます。私の接続文字列は現在次のようになっています。

<add name="SiteDBConn" connectionString="Server=IPOfServer;Database=DBname;User ID=userhere;Password=passhere;"/>

これは私にとっては完全に機能していますが、ユーザー名とパスワードを含まないデータベース接続文字列を設定したいと思います。SQLサーバーがWebファイルと同じサーバー上にある他のサーバーのいくつかでは、信頼できる接続を使用し、データベースに組み込まれている「ネットワークサービス」ユーザーを使用できます。これにより、次のようにユーザー名とパスワードなしで接続文字列を実行できます。

<add name="SiteDBConn" connectionString="Server=localhost;Database=DBname;Trusted_Connection=Yes;"/>

2つの異なるサーバーを使用する場合、上記の接続文字列のように、ユーザー名とパスワードをハードコーディングせずにデータベースへの接続を実現する簡単な方法はありますか?私が作成したデータベースユーザーがとにかくexec権限しか持っていないので、このルートをたどるのに時間を無駄にしていますか?

これについて考えてくれてありがとう。

4

2 に答える 2

5

あなたは時間を無駄にしていません。これは非常に良い習慣です。別のマシンで IIS と SQL を分離する場合、いくつかのオプションがあります。

  • IISボックスとSQLサーバーの両方でasp.netユーザーを作成します(同じパスワードを使用することをお勧めします)
  • 偽装を使用する (サイトが実行されるコンテキストを変更する)
  • レジストリ構成ファイルの接続文字列を暗号化し、信頼できる接続を忘れる (brrrr)
  • asp.net コンテキストをドメイン ユーザーに切り替えます
  • ネイティブ アプリケーション モードで IIS6 を使用する
于 2009-06-25T16:23:16.023 に答える
1

2 つのサーバーが同じ Windows ドメインにない場合、トラステッド接続は使用できません。

また、ログインは Windows 認証として作成する必要があります。信頼できる接続で SQL 認証ログインを使用することはできません。

そうでなければ、タポリが言ったことはすべて。

于 2009-06-25T16:24:44.027 に答える