ローカルホストのIIS上でWebサイトを実行しています。このWebサイトには、Windowsの統合認証のみを許可するようにディレクトリセキュリティが設定されています。これはイントラネットの一部で、ドメインアカウントで認証する必要があります。IIS、Firefox、SQL Serverとの統合Windows認証
次に、接続文字列に統合セキュリティ= SSPIを使用してSQL Serverに接続します。
これはMicrosoft Internet Explorerで正常に動作し、ドメインにログインしているときに自動的に認証され、logon_userが自分のドメインアカウントであり、SQL Server接続文字列が正常に機能することがわかります。
ただし、Firefoxを使用してログインすると、状況が異なります。
最初に、Firefoxが自動的に資格情報を送信するのに十分なローカルホストを信頼するように設定されていないため、正しく認証されています(実際にこの信頼を導入する方法を認識しています。 )。私はそれからログインします。ドメインアカウントの詳細を入力すれば、もう一度うまくいきます。確かに、デバッグステートメントまたは2つは、logon_userがまだ私のドメインアカウントであり、すべてが正常であることを示しています。私は(私のドメインアカウントがフルシステム管理者権限を持つリモートサーバーボックスで実行されている、)SQL Serverに接続するために来たときに
はしかし、私は次のエラーを取得する:
Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
このことは私には何かが認証スタックに間違っている、何らかの理由で、私はfirefoxからWindows認証を使用して認証するときにIISが認証されたアカウントとして実行されていません。
Google Chromeを使用している場合でも、これは正常に機能します。
提案がありますか? :
SQLとIISを同じマシンで実行していますか? – Tomalak
いいえ、SQL Serverはリモートの安全なサーバー上にあります。 – THEMike