(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Использование WS-Security с приложением Crystal Reports 2008

В данном документе демонстрируется, как приложение Crystal Reports 2008 и его возможности по управлению доступом к данным XML и веб-служб позволяют применять веб-службу, использующую WS-Security. Также здесь описывается, как создать образец веб-службы, использующей WS-Security. А затем показываются шаги, необходимые для подключения к ней приложения Crystal Reports 2008 с помощью имеющихся в нем возможностей управления доступом к данным XML и веб-служб.

Введение

В приложении Crystal Reports 2008 появилось много новых функций, в том числе значительно улучшенные возможности по управлению XML и веб-службами. В их число входит поддержка большего числа типов параметров. Благодаря обновленному набору веб-служб Apache Axis 2 улучшена совместимость с веб-службами. В данном документе показывается возможность подключения к веб-службам, использующим WS-Security.

Следует учитывать, что приложение Crystal Reports - это не один только конструктор отчетов Crystal Reports. Отчеты часто размещаются на серверах, чтобы упростить пользователям доступ к ним. Отчет, отображаемый с помощью веб-службы, использующей WS-Security, требует предоставления для своего просмотра учетных данных для аутентификации. В конструкторе отчетов Crystal Reports такие данные можно ввести непосредственно. Однако в среде сервера пользователь не всегда в состоянии предоставить учетные данные для сервера. Разработчики отчетов могут избавить пользователей от необходимости ввода учетных данных. Что более важно, тип аутентификации, используемый веб-службой, может не соответствовать используемой системе безопасности Business Objects Enterprise или корпоративной политике безопасности. В результате может потребоваться предоставление отдельных учетных данных для этой веб-службы, и при этом - беспрепятственным образом. Это выполняется с помощью обработчика обратных вызовов учетных данных.

Для управления XML и веб-службами в приложении Crystal Reports 2008 используется модуль Apache Rampart WS-Security, который обеспечивает поддержку WS-Security с помощью протокола Apache Axis 2. Модуль Apache Rampart использует обработчик обратных вызовов учетных данных таким образом, что аутентификация может управляться разработчиком. Единственное требование при создании обработчика - соответствие стандартному интерфейсу. Детали реализации зависят только от разработчика. В Crystal Reports 2008 драйвер соединения для подключения с XML и веб-службами использует файл конфигурации, в который можно внести необходимые данные для нахождения и связывания обработчика с соответствующими вызовами службы.

Примечание. У поставщиков веб-служб, использующих WS-Security для защиты своей ценной информации, появляется возможность использовать обработчик учетных данных и соответствующий файл конфигурации WS-Security для своих служб для упрощения их использования клиентами, создающими отчеты Crystal Reports. Этот обработчик обратных вызовов должен работать и для других клиентов, использующих модуль Rampart WS-Security.

В данном документе объясняется, как создать веб-службу, использующую WS-Security, а затем - как настроить приложение Crystal Reports 2008 для извлечения данных из нее. В данном примере для доступа к веб-службе используется аутентификация по маркеру имени пользователя. Приведен образец обработчика обратных вызовов для аутентификации модуля Rampart. Документ содержит основную информацию о том, как позволить пользователям приложения Crystal Reports 2008 подключаться к веб-службам, использующим WS-Security, с помощью разных типов аутентификации.

В качестве образца веб-службы используется веб-служба Microsoft IIS, разработанная с помощью платформы ASP.NET (ASMX) с надстройкой WSE 3.0. Это позволит продемонстрировать взаимодействие между отдельными технологиями: технологией Apache Axis на основе Java и технологией ASP.NET на основе платформы Microsoft .NET.

Для выполнения примеров используется инструментарий разработки Visual Studio 2005.

Создание веб-службы

После установки WSE 3.0 с поддержкой Visual Studio 2005 создайте веб-службу (в примерах используется язык C#). Добавьте WS-Security согласно инструкциям и выберите аутентификацию по маркеру имени пользователя. Если значения по умолчанию не изменялись, будет создан файл Service1.asmx, а вместе с ним еще несколько файлов проекта. Результат должен включать программный код, аналогичный коду в созданном файле Service1.asmx.cs:

***Для первоначального тестирования следует закомментировать атрибут Policy, чтобы отключить WS-Security.

Получение данных из веб-службы

Необходимо получить некоторые данные из службы. Приложение Crystal Reports 2008 поддерживает получение массивов объектов из службы и обрабатывает их как наборы данных.

Примечание. В момент создания данного документа приложением Crystal Reports 2008 не поддерживаются сериализованные объекты ADO . NET DataSet или DataTable . Это ограничение предполагается устранить в будущих пакетах обновления.

Полнофункциональная служба должна возвратить некоторые значимые данные. Создайте простой массив объектов и передайте его методу службы:

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

Теперь следует запустить службу, указать URL-адрес WSDL и использовать этот адрес в отчетах Crystal Reports. URL-адрес будет подобен следующему: http://localhost:2937/WSEServiceSample/Service1.asmx?WSDL

В зависимости от того, как приложением Visual Studio запускается обозреватель для отображения службы, может потребоваться щелкнуть мышью на файле Service1.asmx в обозревателе. В мастере источников данных XML and Web Services отчетов Crystal Reports выберите веб-службу, как показано ниже.

Затем вставьте URL-адрес WSDL в поле HTTP WSDL, как показано ниже:

Далее следует завершить выполнение мастера, добавить поля в отчет и просмотреть результаты, поскольку в веб-службе закомментирован атрибут Policy.

Включение WS-Security в веб-службу

Это первый шаг по включению WS-Security в веб-службу.

Теперь необходимо восстановить атрибут Policy в начале кода реализации веб-службы, как показано ниже:

Затем откройте файл wse3policyCache.config, который должен был быть создан для проекта. В этом файле может понадобиться изменить имя разрешенного пользователя, которое должно быть учетной записью пользователя на сервере или в домене сети Windows, к которому относится учетная запись пользователя. Необходимо также закомментировать элементы requiredActionHeader. Результат должен быть подобен следующему:

Необходимо изменить элемент <allow user="YOUR-DOMAIN\Your-Account" />, чтобы включить домен и учетную запись.

Специальное управление маркерами

Для веб-службы необходим специальный диспетчер маркеров, чтобы проверять имена пользователей и пароли. Это позволяет переопределять аутентификацию по маркерам, как необходимо для службы.

Щелкните правой кнопкой мыши узел App_Code в окне Visual Studio Solution Explorer, щелкните Add New Item… и выберите Class.

Добавьте в реализацию класса следующий программный код:

Используемый диспетчер маркеров указывается в файле Web.config веб-службы.

Добавьте в конец файла Web.config для службы следующие элементы:

Скомпилируйте проект, чтобы проверить, что он создан без ошибок.

Дополнительные настройки в файле Web.config

Чтобы максимально упростить понимание WSDL веб-службы, протокол SOAP ограничен версией SOAP 1.1. Необходимо также добавить другие расширения WSE 3.0. Начало файла Web.config должно содержать следующие строки XML:

Теперь, если вы запустите проект на выполнение и посмотрите код WSDL, то сможете отметить, что пространство имен SOAP 1.2 объявлено в заголовке файла, но в теле файла оно не используется.

Веб-служба создана. Можно не останавливать ее выполнение.

Компоненты Axis 2 и Rampart WS-Security

Управление данными в приложении Crystal Reports 2008 реализуется с помощью языка Java. Для поддержки WS-Security им используется набор веб-служб Apache Axis 2 и расширения Apache Rampart.

Ключевое требование для доступа к данным Crystal Reports - он должен быть прозрачен для пользователя. Это необходимо для любого типа развертывания сервера в специальных веб-приложениях или для управления в приложении Business Objects Enterprise.

Чтобы передать идентификатор пользователя и пароль, не запрашивая их у пользователя, необходимо создать небольшой класс, которым передавался бы идентификатор пользователя и пароль в компонент Rampart WS-Security для аутентификации между клиентом и сервером от имени пользователей. В приведенном здесь примере используется класс обработчика обратных вызовов пароля.

Сохраните в файле с именем WSE_PWCBHandler.java следующий программный код:

Необходимо заменить имя учетной записи и пароль, указанные в этом образце кода! Предполагается, что "реальное" внедрение имело бы более целесообразный механизм для управления именами пользователей и извлечения паролей.

Для компиляции этого кода необходим комплект Java 1.5 SDK. Кроме того, в переменной окружения CLASSPATH должна быть указана библиотека Apache Web Service Security, wss4j-1.5.1.jar, чтобы компилятор Java мог ее использовать. Приложение Crystal Reports 2008 поставляется с этой библиотекой, а также с необходимым комплектом Java SDK.

Комплект Java SDK по умолчанию устанавливается в каталог C:\Program Files\Business Objects\javasdk

Местоположение файла wss4j-1.5.1.jar по умолчанию:

C:\Program Files\BusinessObjects\Common\4.0\java\lib\external\wss4j-1.5.1.jar

Добавьте этот путь в переменную окружения Windows CLASSPATH, а затем выполните следующую команду в командной строке:

C:\Program Files\Business Objects\javasdk\bin\javac

WSE_PWCBHandler.java

При этом должен создаться файл с именем WSE_PWCBHandler.class. Отметьте местоположение этого файла. Он будет скопирован в новое местоположение в следующем разделе.

Файл политики WS-Security

Необходимо настроить компоненты Apache Rampart в соответствии с используемым типом обеспечения безопасности и местонахождением класса обработчика обратного вызова паролей, скомпилированным выше. Это настройка политики для веб-службы на стороне клиента. Для управления XML и веб-службами в отчетах Crystal Reports указывается путь к этому файлу политики.

Ниже приводится содержимое файла политики, которое можно сохранить в файле с именем wse_policy.xml:

Чтобы упростить отслеживание, сохраните файл политики на компьютере в папке C:\Users\Public или в какой-либо другой общедоступной папке.

Необходимо изменить в файле запись <ramp:user>, чтобы включить домен и учетную запись пользователя.

Обратите внимание на элемент <ramp:passwordCallbackClass>. Им указывается компонент обработчика паролей для Rampart, а также формируется системный путь в файловой системе, указываемый в разделе CLASSPATH для Crystal Reports для Java (расположенном в файле CRConfig.xml), по которому ищется обработчик паролей. При условии, что создан компонент обработчика паролей, как показано выше, и что требуется поместить его в папку C:\Users\Public на компьютере, необходимо выполнить следующие действия.

Создайте такую структуру папок, чтобы создать обработчик паролей со следующим путем:

C:\Users\Public\WSE_PWCBHandler\org\apache\rampart\samples\test\WSE_PWCBHandler.class

Скопируйте в папку файл WSE_PWCBHandler.class.

Путь к папке, C:\Users\Public\WSE_PWCBHandler\, необходимо указать в разделе CLASSPATH для Crystal Reports в файле конфигурации Java для Crystal Reports, который по умолчанию расположен здесь:

C:\Program Files\Business Objects\Common\4.0\java\CRConfig.xml

Элемент Classpath должен заканчиваться таким образом:

;C:\Users\Public\WSE_PWCBHandler\;${CLASSPATH}</Classpath>

Примечание: Чтобы изменить файл CRConfig.xml в операционных системах Windows Vista или Windows Server 2008, необходимо запустить редактор с полномочиями Администратора. Щелкните правой кнопкой мыши ярлык редактора, например, Visual Studio 2005, и щелкните Run as Administrator.

Дополнительно: Можно исключить необходимость создания глубокой структуры папок для обработчика обратного вызова пароля, удалив все соответствующее определение пространства имен или часть его в элементе <ramp:passwordCallbackClass>.

Создание отчета

Последний шаг - создание отчета Crystal Reports. В этом шаге файл политики передается управлению XML и веб-службами, чтобы он мог правильно вызывать компоненты Rampart.

Выполните указанные выше шаги по созданию отчета с помощью возможностей управления данными XML и веб-служб, только на этот раз следует ввести путь к файлу конфигурации политики WS-Security, как показано здесь:

Отчет должен обновиться и отобразить ожидаемые данные.

Заключение

В данном документе показано, как создать веб-службу с включением WS-Security, а затем создать отчет Crystal Reports, который может ее использовать. Различные способы, которыми можно развертывать отчеты Crystal Reports, и типы защиты, поддерживаемые в WS-Security, объединяясь вместе, резко повышают сложность проблемы с подключениями. Однако предлагаемая гибкость должна позволить подключаться к веб-службе с включением WS-Security, развернув практически любой тип аутентификации.

Дополнительные примечания

Во время выхода выпуска Crystal Reports 2008 Service Pack 0 протокол SOAP 1.2 не поддерживался. Это ограничивает платформой ASP.NET (ASMX с WSE 3.0) возможность подключения к наборам веб-служб Microsoft с включением WS-Security. Реализация Windows Communication Foundation (WCF) WS-Security компании Microsoft (WSHttpBinding) требует применения протокола SOAP 1.2. В следующие пакеты обновления Crystal Reports 2008, по-видимому, будет добавлена поддержка протокола SOAP 1.2. См. заметки о выпусках, которые будут включены в будущие пакеты обновления и продукты Crystal Reports.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 16.12.2010 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
SAP Crystal Reports XI R2 Dev 2006 INTL WIN NUL License (Version 11)
SAP Crystal Server 2011 WIN INTL 5 CAL License
SAP Crystal Reports 2008 INTL WIN NUL License
SAP® Crystal Presentation Design 2016 WIN INTL NUL
SAP CRYSTAL Server 2013 WIN INTL 5 CAL License
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Новые программы для Windows
Проект mic-hard - все об XP - новости, статьи, советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100