IIS, олицетворение и COM Interop. Доступ запрещен - PullRequest
1 голос
/ 13 апреля 2010

Мы находимся в процессе интеграции Системы управления документами с Dynamic CRM 4. Ранее мы делали подобные вещи, но в этом случае нам приходится ссылаться на COM-DLL.

Мы настроили страницу asp.net (мы вводим информацию через iFrame в CRM), установили Impersonation = True в Web.config и убедились, что аутентификация Windows является единственным методом, доступным в IIS.

Все это работает так, как мы ожидаем при входе на сам сервер; страница благополучно уходит и находит все необходимые документы для учетной записи CRM и представляет их пользователю в красивой сетке в стиле Infragistics CRM. Однако, пробуя это с клиентской рабочей станции, мы получаем следующее:

System.Runtime.InteropServices.COMException (0xC0042335): В доступе отказано.

Олицетворение, кажется, передает правильные детали, но ничто из того, что мы пробовали до сих пор, не смогло сделать эту работу без входа на сервер. Есть мысли о том, чего нам не хватает?

1 Ответ

1 голос
/ 24 апреля 2010

Это может быть проблема Kerberos с несколькими прыжками. Существует ли система управления документами на другом физическом сервере? Если это так, вам, вероятно, нужно включить делегирование на учетной записи компьютера в Active Directory, при условии, что вы установили CRM, используя настройки по умолчанию (сетевая служба, выполняющая пул приложений). Олицетворение отличается от делегирования. Олицетворение работает только при доступе к ресурсам на локальном сервере. Если вы обращаетесь к ресурсам на другом сервере от имени пользователя, вам также необходимо включить делегирование. Вот ссылка, показывающая вам, как:

http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/WhatIsDelegation.html

После внесения этих изменений попросите администратора AD запустить репликацию, а затем выйдите и вернитесь на свою рабочую станцию, чтобы обновить кеш билетов Kerberos.

...