У меня есть веб-сайт, работающий на IIS на моем локальном хосте. Этот веб-сайт имеет защиту каталога, позволяющую разрешить только встроенную проверку подлинности Windows. Он является частью интрасети и нуждается в аутентификации через наши учетные записи домена.
Затем я подключаюсь к SQL Server с Integrated Security = SSPI в строке подключения.
Это отлично работает с Microsoft Internet Explorer, он автоматически аутентифицирует меня, когда я зарегистрирован в домене, и я вижу, что logon_user является моей учетной записью домена, а строка подключения SQL Server работает нормально.
Однако, когда я вхожу в систему с использованием Firefox, все по-другому.
Во-первых, мне предлагается аутентифицировать, что прекрасно и правильно, поскольку Firefox не настроен на доверие к локальному хосту, чтобы автоматически отправлять учетные данные (и, действительно, я знаю, как уже внедрить это доверие, это не проблема), Затем я вхожу в систему, что снова хорошо, если я вхожу в данные учетной записи домена, все в порядке. Действительно, оператор отладки или два показывают, что logon_user по-прежнему является моей учетной записью домена, и все в порядке.
Однако, когда я подключаюсь к SQL Server (который работает на удаленном сервере, в котором у моей учетной записи домена есть полные привилегии sysadmin), я получаю следующую ошибку:
Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Это указывает на то, что в стеке проверки подлинности что-то не так, по какой-то причине IIS не работает как аутентифицированная учетная запись при аутентификации с помощью проверки подлинности Windows из firefox.
Это также отлично работает при использовании Google Chrome.
Любые предложения?