2009-06-03 7 views
2

Я разрабатываю веб-сайт с использованием PHP 5.2.9 и MS Sql Server 2005. У меня есть отчет SSRS, и я хочу настроить его так, чтобы люди через Интернет могли получить к нему доступ (после того, имя пользователя и пароль, но я могу понять эту часть).Internet Facing SSRS Report

Наш сайт размещен локально на веб-сервере, а база данных находится на отдельном сервере. Я еще не настроил экземпляр SSRS.

Таким образом, любая помощь на выяснение того, как сделать это было бы удивительным (это немного слишком поздно в игре, чтобы перейти на asp.net (

+0

Существует хороший SDK, который кто-то собрал в Google Code. Большая часть работы для вас. http://code.google.com/p/php-ssrs/ – 2011-03-11 09:59:39

ответ

0

Ну, я нашел документацию от Майкрософт по всему вопросу here. У меня все работает, и я счастлив. хотя для того, чтобы он был идеальным, мне по-прежнему нужен еще один межсетевой экран между веб-сервером и остальной частью сети.

+0

я написал блог об этом некоторое время назад: http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/internet-facing-reporting-services-insta – DForck42

5

Простейший способ решения это смотреть на какие вызовы MS «URL Access», который позволяет сделать ссылку на отчет, размещенный на установке SSRS Много способов настройки через все параметры URL доступа

Посмотрите здесь:.. URL Access

Простой пример:

http://<Server Name>/reportserver?/Sales/YearlySalesByCategory&rs:Command=Render

Указанная ссылка приведет к тому, что отчет будет отображаться в веб-браузере точно так же, как на обычной странице. Вы также можете указать другие режимы рендеринга, такие как PDF. То, что я обычно делаю в своих приложениях, - это щелкнуть по ссылке, ссылающейся на отчет, с режимом рендеринга в формате PDF. Затем вы можете обернуть вокруг себя весь свой код безопасности и аутентификации, чтобы он оставался в стороне от тех, которые вы не хотите использовать.

+0

Это работает для одиночных форматов отчетов, но не для HTML. – cdonner

+0

cdonner: Вам нужно будет объяснить, что вы имеете в виду, потому что я не преследую вас. – TheTXI

+1

TheTXI: Если вы хотите встроить ссылку на отчет на веб-странице, клиент должен пройти аутентификацию, что нецелесообразно на общедоступном сайте.Если вы имели в виду, что сервер должен выдать HTTP-запрос серверу отчетов и передать результаты обратно клиенту в виде вложения (который позволяет обрабатывать аутентификацию на сервере), и это поток HTML, он будет содержать ссылки на изображения, которые браузер не может решить. Эти ссылки должны быть изменены сервером «на лету», и должен быть еще один компонент, который может обрабатывать запросы изображений и перенаправлять их на RS. – cdonner

3

Я думаю, что лучше всего использовать интерфейс веб-службы SSRS. Вы можете запрограммировать запросы через ASP-прокси. Написание клиента с нуля в PHP, вероятно, нецелесообразно (если вы не найдете для этого готового к использованию компонента, который я не исследовал). Прокси-класс легко доступен для .Net (see here). Ваш прокси-клиент может аутентифицироваться с помощью «учетной записи службы».

В качестве альтернативы вы можете использовать интерфейс URL SSRS. Я написал Java proxy давным-давно, для SSRS 1.0. Базовый подход, вероятно, остается в силе.

Что касается интеграции безопасности, это будет зависеть от того, находятся ли ваши пользователи в домене AD или нет. Аутентификация с помощью RS через модели, отличные от Windows Integrated Security, не является прямой и требует настройки.

+0

Я бы не хотел с этим справляться, но если вы настроены только на PHP, службы служб отчетов - это только веб-сервис SOAP, поэтому вы можете теоретически использовать любой стек SOAP PHP, чтобы взаимодействовать с ним. –

+0

Что я пытался сказать, так это то, что вы можете загрузить прокси-сервер SOAP для .NET и сразу же использовать его. Он обрабатывает все из коробки. Если возможно, Thirster42 может деактивировать параллельный сайт ASP, который состоит из одной страницы только для доставки отчета. Это, безусловно, самый быстрый способ заставить это работать. – cdonner

+0

не могли бы вы проверить, можете ли вы мне помочь http://stackoverflow.com/questions/22259178/uncaught-soapfault-exception-wsdl-soap-error-parsing-wsdl –

0

Используйте веб-службу, как предложено, но спрячьте сервер SSRS из Интернета.

SSRS и SharePoint просто не безопасны в Интернете. Спросите любого консультанта MS по поводу пива, если вы знаете его социально.

+0

я не знаю ... – DForck42

Смежные вопросы