Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Сервис конфигурационных данных (ExternalConfig.asmx)




Сервис конфигурационных данных – это небольшой вспомогательный сервис для хранения части настроек внешнего приложения, касающихся LanDocs, на стороне LanDocs. Его применение может быть полезным, если внешнее приложение обслуживает небольшую группу пользователей с небольшим количеством параметров для каждого пользователя.

Схема данных

Логически данные образуют простую двухуровневую схему:

Внешний сервис (идентифицируется по имени).

§ Простые значения (ключ – строковое значение);

§ Коллекции (ключ – список строковых значений);

§ Словарь (ключ – коллекция пар (ключ – строковое значение)).

Разработчики внешнего приложения и администраторы LanDocs должны договориться об имени сервиса (оно уникально для каждого внешнего приложения) и об именах и назначении параметров.

Конфигурационный файл

На данный момент все конфигурационные данные должны храниться в XML-файле с именем External.сonfig. Расширение.config обеспечивает недоступность файла для скачивания извне через IIS. В будущих версиях, если возникнет в этом необходимость, возможно хранение конфигурации в базе данных. Пользователи сервиса не должны делать предположений о том, где хранятся данные.

Сервис отслеживает изменения в файле и автоматически их подхватывает.

Пример конфигурационного файла

В поставку web-сервисов входит файл ExternalSample.config как пример возможного содержимого. Его можно переименовать в External.config и отредактировать.

<?xml version="1.0" encoding="UTF-8"?>

<Config xmlns="http://schemas.landocs.ru/ContentServer/ExternalConfig/file/201008">

<!--

Это пример конфигурационного файла для ExternalConfig.asmx сервиса.

Переименуйте его в External.config и отредактируйте содержимое.

Каждый элемент Service соответсвует одному внешнему клиенту (программе).

Имя сервиса и набор свойств определяется для каждого клиента отдельно на этапе постановки задачи.

-->

<Service name="TestService">

<Property name="SampleProperty" value="Property"/>

<Collection name="SampleCollection">

<Value>Value1</Value>

<Value>Value2</Value>

</Collection>

<Dictionary name="SampleMap">

<Entry key="Key1" value="Value1"/>

<Entry key="Key2" value="Value2"/>

</Dictionary>

</Service>

</Config>

Описание методов

Сервис содержит всего 3 метода; каждый принимает на вход имя сервиса и имя параметра. Как уже говорилось, разработчики внешнего приложения и администраторы LanDocs должны договориться между собой об имени сервиса и именах параметров.

Имя метода Назначение
String GetValue( String serviceName, String propertyName) Возвращает простое строковое значение по ключу
String[] GetCollection( String serviceName, String propertyName) Возвращает коллекцию строк по ключу
KeyValue[] GetDictionary( String serviceName, String propertyName) Возвращает массив пар «ключ – строковое значение» по ключу

Примечание к вызову методов

В текущей реализации (3.0.2.20) методы сервиса не требуют предварительной авторизации через OpenSession в BMService.asmx, но это может быть потребовано в дальнейшем. Для совместимости с будущими версиями, передавайте cookie, полученные при открытии сессии, в методы ExternalConfig.asmx.

 


Сервис для работы с подсистемой безопасности (Security.asmx)

Сервис предоставляет методы для взаимодействия с сервером безопасности LanDocs. Для корректной работы этих методов сервер приложений должен быть сконфигурирован на использование библиотеки безопасности:

§ Подсистема безопасности должна быть включена (параметр конфигурации сервера SecurityEnabled=”true”).

§ Клиентские компоненты подсистемы безопасности должны быть установлены. По умолчанию сервер ищет их в папке с 32-битным сервером. В случае необходимости, путь к ним можно задать в параметре конфигурации сервера SecuritySystemDirectory (см. документацию по параметрам конфигурации сервера приложений).

Физическая структура сервиса

Все методы сервиса располагаются в одном файле Security.asmx.

Поддержка ASP.NET-сессии

Сервисы для работы с подсистемой безопасности, как и остальные web-сервисы LanDocs, требуют наличия ASP.NET-сессии. Клиент должен позаботиться о передаче стандартного идентификатора ASP.NET-сессии через cookies при каждом обращении к методам web-сервиса.

Перед вызовом методов сервиса приложение должно открыть серверную сессию одним из методов – OpenServerSession, OpenVersionedServerSession, OpenWindowsServerSession или OpenSSOSession.

Описание методов

CertifySignature

Заверка клиентской подписи на сервере безопасности.

Формат вызова:

byte[] CertifySignature(byte[] clientSignature);

Параметры:

§ clientSignature - подпись, сформированная клиентом.

Результат выполнения операции:

Подпись, заверенная сервером безопасности.

Пример использования:

byte[] certifiedSignature = service.CertifySignature(clientSignature);

Сервер приложений должен быть сконфигурирован на использование библиотеки безопасности: подсистема безопасности должна быть включена (параметр конфигурации сервера SecurityEnabled=”true”). Клиентские компоненты подсистемы безопасности должны быть установлены, по умолчанию сервер их ищет в папке с 32-битным сервером, иначе путь к ним можно задать в параметре конфигурации сервера SecuritySystemDirectory (см. документацию по параметрам конфигурации сервера приложений).

 


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...