Microsoft SQL Reporting Services: бесконечно появляется окно авторизации в Web-интерфейсе
Столкнувшись с проблемой бесконечно появляющегося окна авторизации при входе в веб-интерфейс SQL Server Reporting Services (SSRS, сервера отчётов), можно потратить много времени на поиск возможных ошибок.
После установки MS SQL Server и SQL Server Reporting Services (SSRS), при попытке входа в диспетчер отчётов (http://hostname/Reports) или веб-службу (http://hostname/ReportServer) можно столкнуться с неприятной ошибкой: появляется поле ввода логина-пароля, однако при попытке ввода заведомо верных данных – окно ввода пропадает и появляется заново.
В случае закрытия окна авторизации, появляется ошибка HTTP 401.
При этом никаких ошибок ни на странице, ни в лог-файлах не появляется, что сильно затрудняет поиск проблемы.
В нашем случае проблема оказалась в проверке подлинности HTTP-запросов.
Дело в том, что Reporing Services используют четыре типа проверки:
- Согласование – пытается провести проверку сначала по протоколу Kerberos, а в случае отсутствия билета (но не при ошибке) – по NTLM
- NTLM
- Kerberos
- Basic
Подробнее о проверке подлинности на сервере отчётов можно прочитать в разделе документации Microsoft.
При установке Reporting Services, по умолчанию происходит проверка первыми двумя способами: через согласование, плюс NTLM (на тот случай, если при проверке через Kerberos вернулась ошибка).
В нашем случае согласование и NTLM по какой-то причине не проходили. Переход на базовую проверку решил проблему. Для этого необходимо в файле (замените * на версию Reporting Service)
C:\Program Files\Microsoft SQL Server\MSRS*\Reporting Services\ReportServer\rsreportserver.conf
найти раздел <Authentication>
Внутри раздела найти две строки:<RSWindowsNegotiate/>
<RSWindowsNTLM/>
И заменить их на: <RSWindowsBasic/>
После чего перезапустить службу сервера отчётов.
- Комментарии