(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 Dashboard Design Departmental 2016 WIN INTL NUL
SAP Crystal Reports 2008 INTL WIN NUL License
SAP Crystal Reports XI R2 Dev 2006 INTL WIN NUL License (Version 11)
SAP Crystal Server 2011 WIN INTL 5 CAL License
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 "с нуля"
Компьютерный дизайн - Все графические редакторы
Каждый день новые драйверы для вашего компьютера!
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100