Я пытаюсь обеспечить проверку подлинности Windows для пользователей приложения .Net на веб-сервере для доступа к кубу в базе данных служб аналитики Microsoft на SSAS и просто схожу с ума, пытаясь заставить его работать!
Я использую <identity impersonate="true" />
в web.config. Анонимный доступ отключен в IIS и выбрана встроенная проверка подлинности Windows. AppPool работает как указанная личность; отдельная учетная запись Windows, которой была предоставлена «Учетная запись является доверенной для делегирования» в Active Directory. У меня также есть сетевые парни, чтобы создать и зарегистрировать SPN для этой личности на веб-сервере. Пользователи, пытающиеся получить доступ к приложению .Net, не имеют «Учетная запись чувствительна и не может быть делегирована», выбранной в их учетных записях AD.
Работает нормально, если пользователь обращается к приложению .Net локально с веб-сервера, но при доступе к приложению .Net с ПК клиента они получают сообщение об ошибке: «на транспортном уровне обнаружена ошибка» преждевременно закрыл соединение ". Делая трассировку с помощью SQL Profiler, я вижу, что NTUserName, пытающийся безуспешно аутентифицироваться, является АНОНИМНЫМ ЛОГОНОМ.
Почему он не делегирует аутентификацию пользователя ??
Решение:
Регистрация имени участника-службы для службы OLAP, как описано здесь на сервере SSAS это исправило! т.е. Setspn.exe -A MSOLAPSvc.3 / Servername mydomain \ theuser.