Я использую SSAS через HTTP с MSMDPUMP.dll. Я настроил веб-сайт MSMDPUMP.dll для использования только базовой аутентификации, а затем я предоставляю идентификатор пользователя и пароль в ConnectionString. Все работает, но слишком медленно, чтобы его можно было использовать. Я включил отслеживание неудачных запросов в IIS и заметил, что получаю тысячи ошибок 401.2 со следующей информацией:
ModuleName IIS Web Core
Уведомление 2
HttpStatus 401
HttpReason неавторизован
HttpSubStatus 2
Код ошибки 2147942405
ConfigExceptionInfo
Уведомление AUTHENTICATE_REQUEST
ErrorCode Доступ запрещен. (0x80070005)
Я считаю, что это накладные расходы и причина, по которой он медленный? Если я изменю аутентификацию на анонимную, все будет работать быстро. К сожалению, это не вариант, поэтому мне нужно решить эту проблему с помощью базовой проверки подлинности. Любые идеи?
РЕДАКТИРОВАТЬ Кажется, что он пытается сначала анонимную аутентификацию, и только после неудачи идет с базовой. У меня нет даже анонимной аутентификации, поэтому я не знаю, почему это происходит.
Если при доступе к службе выполняется много запросов, и каждый запрос должен быть аутентифицирован, это будет ожидаемым поведением, если файл cookie аутентификации не установлен. Если каждый запрос должен выполнять полную аутентификацию, производительность будет заметно снижена.
Если вы не можете установить файл cookie аутентификации и можете использовать проверку подлинности Windows, в IIS есть параметр для проверки подлинности только первого запроса.
При использовании встроенной проверки подлинности Windows вместе с протоколом проверки подлинности Kerberos в IIS 7.0 может наблюдаться снижение производительности.
http://support.microsoft.com/kb/954873