Средство просмотра отчетов SSRS в sharepoint с установленным document.domain - PullRequest
0 голосов
/ 24 октября 2009

В настоящее время я работаю над большим интрасетевым коллажем, который использует sharepoint для агрегирования контента с нескольких других внутренних серверов, таких как:

  • moss.myapp.internalserver.local - Портал MOSS
  • ssrs.myapp.internalserver.local - отчеты служб отчетов SQL Server
  • app.myapp.internalserver.local - пользовательские формы ASP.NET MVC

Портал мха вызывает формы MVC, используя iframes в диалоговых окнах jQuery (точнее квадратный), которые, в свою очередь, возвращаются на страницу мха с javascript для различных вещей, включая закрытие диалога jQuery.

Это, очевидно, приведет к сбою той же политики происхождения в браузерах (и, следовательно, не позволит javascript вызывать фреймы / окна из разных источников), поэтому я решил эту проблему, установив document.domain = "myapp.internalserver. local "на главных страницах MOSS и страницах форм приложения, что позволяет междоменным сценариям нормально работать между мхом и содержимым приложения.

Итак, это прекрасно работает, пока я не добавлю отчет SSRS в микс, используя веб-часть средства просмотра отчетов (по умолчанию - sharepoint, плюс пару сторонних, включая мою собственную, которая просто использует компонент просмотра отчетов ASP.NET). .

Кажется, что для просмотра отчетов требуется обработчик, который возвращает html на страницу. Тем не менее, результирующее содержимое средства просмотра отчетов, по-видимому, визуализируется и записывается в некоторые iframes, но это не дает нам никакого способа установить document.domain для этих iframes, и поэтому сценарии завершаются ошибкой.

В лучшем случае это означает, что мы получаем маленький желтый значок ошибки javascript в строке состояния, а в худшем случае, когда используется динамический рендеринг, колесо прогресса «отчет о рендеринге» просто анимирует и никогда не доставляет отчет.

Кто-нибудь видел это раньше, и если да, то как ты справился с этим?

Спасибо, Tony

Ответы [ 2 ]

0 голосов
/ 16 ноября 2009

В итоге я решил эту проблему, используя подкадры в соответствии с этой записью в блоге:

http://www.deepcode.co.uk/2009/11/overcoming-cross-domain-issues-between.html

0 голосов
/ 25 октября 2009

Как правило, чтобы веб-части SSRS работали в SharePoint, вам нужно включить Kerberos, если вы хотите передавать те же отчеты (используя тот же контекст безопасности), вам нужно предоставить права учетной записи пула приложений SharePoint для получения / запустить отчеты. Можно также рассмотреть возможность установки SSRS в «интегрированном» режиме, но это довольно сложный процесс, поскольку серверу sql потребуется разместить SharePoint в качестве другого члена фермы с полностью установленным SharePoint.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...