これはあなたのシナリオのように聞こえますか?
- ローカルマシン上に構築されたIISWebアプリ
- WebアプリはWindows認証を使用します
- Webアプリはローカルマシンでもデータベースと通信します
- Webアプリのユーザーも有効なデータベースログインを持っています
- Webアプリユーザーの資格情報は、信頼できる接続を介してデータベースに渡されます
すべてがうまく機能します。次に、データベースとIISが同じサーバー上にない別の環境に移動すると、IISが渡した資格情報をデータベースに認識させることができなくなりますか?
もしそうなら、数ヶ月前に私の地獄へようこそ。問題は、2つのプロセスが同じボックス上にない場合、それらは相互に信頼しなくなることです。 2つのプロセスがサーバーの境界を越えて相互に信頼できるようにするには、ネットワーク管理権限が必要です。残念ながら、私はそれについてブログを書きませんでしたが、一般的な手順は
- IISサービスアカウントを信頼できるものとしてマークします(Active Directory設定)
- サービスプリンシパル名(SPN)をnetbios名またはFQDNのいずれかに設定します
- お互いを信頼できることを示すために、両方のボックスに何かを設定する必要がありました
漠然とした思い出で申し訳ありませんが、私は何かを修正する資格を持っていなかったので、ボタンをクリックするのを観察するだけでした。 Windows認証を使用してSQLServerに接続する方法 に関する最初の記事 かなり先に進んだ。