Формы приложения
Автор Nikolay Ilin, Last modified by Nikolay Ilin на 14 марта 2016 12:08 PM

Описание структуры форм приложения в шаблонах SSO. Синтаксис, параметры и атрибуты форм в SSO шаблонах.


СИНТАКСИС

<formData id=”идентификатор формы” isForceRematching=”флаг повторного матчинга” filledWndMarkDeletionTime=”время удаления пометки "заполнено"” isForReauthenticationOnly=”флаг предназначения формы только для реаутентификации”>
 
<matching matchingType =”тип матчинга формы”>
[данные для матчинга формы]
</matching>
 
<fillingAlgorithm>
 
[данные алгоритма заполнения формы]
</fillingAlgorithm>
<cancellingAlgorithm>
[данные алгоритма отмены формы]
</cancellingAlgorithm>
 
<targetPluginIds>
 <pluginId value=”значение идентификатора плагина 1”/>

<pluginId value=”значение идентификатора плагина N“/>
</targetPluginIds>
 
</formData>

ПАРАМЕТРЫ

<formData>
Структура описывает форму приложения.

Атрибуты

id
Идентификатор формы (GUID).

Идентификатор представляется в виде строки в формате: {00000000-0000-0000-0000-000000000000}

Пример:

<formData id="{35CA5E88-3BB4-49E8-A453-E01F457653C6}" filledWndMarkDeletionTime="fwmdtOnFillingFinished"> ... </formData> 

isForceRematching
Флаг рематчинга (повторного матчинга) формы.

Если для формы установлен флаг рематчинга, то после обработки этой формы (и снятия с нее пометки "заполнено"), ESSO Агент пытается повторно ее заматчить.

Флаг следует устанавливать в том случае, если после заполнения формы, ESSO Агент не обнаруживает изменений в интерфейсе. Например, если сообщение об ошибке выводится в том же окне и после заполнения формы ESSO Агент не матчит сам форму как форму-признак ошибки.

Возможные значения:
0 - рематчинг формы выключен
1 - рематчинг формы включен

Опциональный параметр. Значение по умолчанию: 0.

filledWndMarkDeletionTime
Время удаления пометки "заполнено" с окна целевой формы.

После заполнения окно целевой формы помечается как "заполненное". До тех пор, пока отметка "заполнено" не будет снята, ESSO Агент не будет матчить окно как окно целевой формы. Соответственно, ESSO Агент не сможет начать выполнение новой операции, для которой это окно является целевой формой.

Возможные значения:
fwmdtOnFillingFinished - удалять пометку "заполнено" с окна целевой формы после завершения обработки заполненных данных (т.е. тогда, когда форма завершить обработку нажатия кнопки ОК)
fwmdtOnOpFinished - удалять пометку "заполнено" с окна целевой формы после завершения операции
fwmdtNever - никогда не удалять пометку "заполнено" с окна целевой формы

Опциональный параметр. Значение по умолчанию: fwmdtNever.

isForReauthenticationOnly
Флаг предназначения формы только для реаутентификации.

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

Если флаг выключен, аутентификация для формы выполняется согласно настройкам приложения или пользователя.

Возможные значения:
0 - флаг выключен
1 - флаг включен (форма предназначена только для реаутентификации)

Опциональный параметр. Значение по умолчанию: 0.

<matching>
Структура задает параметры матчинга формы.

Описание структуры приведено в разделе "Матчинг форм приложения".

Атрибуты

matchingType
Тип матчинга формы.

Возможные значения:

CFormData::mtWin32 - матчинг Win32-формы.

CFormData::mtWeb - матчинг Web-формы.

CFormData::mtDisplayedText - матчинг формы по способу отслеживания отображаемого текста. Используется для поддержки приложения Putty. В настоящее время для других приложений не используется.

CFormData::mtTextDataStream - матчинг формы по способу отслеживания потока текстовых данных. Используется для поддержки приложения Putty. В настоящее время для других приложений не используется.

CFormData::mtNative - матчинг формы по способу встроенного плагина. Используется для поддержки приложения Putty. В настоящее время для других приложений не используется.

<fillingAlgorithm>
Структура задает параметры матчинга формы.

Описание структуры приведено в разделе "Алгоритм заполнения формы".

<cancellingAlgorithm>
Структура задает алгоритм отмены формы.

Если алгоритм отмены формы задан, то для его выполнения необходимо, чтобы в качестве реакции на ошибку операции была указана отмена формы (т.е. когда в описании операции тег failureReaction имеет значение frCancelTargetForm).

Если алгоритм не задан, то при отмене формы она будет просто закрыта.

Отмена формы происходит в следующих случаях:

  • пользователь отменил любой диалог SSO, связанный с выполнением операции, которой принадлежит данная форма;

  • произошла ошибка при выполнении алгоритма заполнения формы.

Описание данной структуры аналогично описанию структуры <fillingAlgorithm>.

Опциональный параметр. Значение по умолчанию: пусто (алгоритм отсутствует).

<targetPluginIds>
Структура задает множество идентификаторов плагинов, которым видна форма.

Структура используется для поддержки приложения Putty. С Web- и Win32-шаблонами не применяется, с другими приложениями в настоящий момент не используется.

Опциональный параметр. Значение по умолчанию: пусто.

<pluginId>
Структура задает описание идентификатора плагина.

Структура используется для поддержки приложения Putty. С Web- и Win32-шаблонами не применяется, с другими приложениями в настоящий момент не используется.

ПРИМЕРЫ

Данный раздел содержит примеры описания форм приложения и соответствующие готовые шаблоны для тестового приложения "Indeed-Id SSO Test Application" для демонстрации работы приведенных примеров.

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

Пример 1

Пример демонстрирует:

  • описание формы, предназначенной только для реаутентификации.

Примечание:
Для просмотра работы примера необходимо дополнительно выполнить следующие действия:

  • в учетной записи тестового приложения для настройки "Требовать аутентификацию при доступе в прилоежние" установить значение "Нет";

  • в учетной записи пользователя для тестового приложения для настройки "Требовать аутентификацию при доступе в прилоежние" установить значение "Нет".

Описание формы входа:

<opLogon failureReaction="frRematchTargetForm" rematchAttemptsLimit="2">
   <forms>
      <formData id="{BC52204D-6573-418A-ABE3-2200910AC97B}" filledWndMarkDeletionTime="fwmdtOnFillingFinished" isForReauthenticationOnly="1">
         ...
      </formData>
   </forms>
   ...
</opLogon>

Описание формы смены пароля:

<opPasswordChange timeoutMs="4000" failureReaction="frRematchTargetForm" rematchAttemptsLimit="2">
   <forms>
      <formData id="{35CA5E88-3BB4-49E8-A453-E01F457653C6}" filledWndMarkDeletionTime="fwmdtOnFillingFinished">
         ...
      </formData>
   </forms>
   ...
</opPasswordChange>

Описание формы разблокировки:

<opUnlock failureReaction="frRematchTargetForm" rematchAttemptsLimit="2">
   <forms>
      <formData id="{74034A01-12DA-424F-B081-BB88F8010BE0}" filledWndMarkDeletionTime="fwmdtOnFillingFinished">
         ...
      </formData>
   </forms>
   ...
</opUnlock>

В приведенном примере аутентификация требуется только для формы входа в приложение, для форм смены пароля и разблокировки аутентификация не требуется (при заданных настройках аутентификации для приложения и пользователя).

Посмотреть работу примера можно с помощью готового шаблона (IndeedID.Test.App.formData.Example1.app).

Пример 2

Пример демонстрирует:

  • описание алгоритма отмены формы.

Описание алгоритма отмены формы (на примере формы входа):

<forms>
   <formData id="{BC52204D-6573-418A-ABE3-2200910AC97B}" filledWndMarkDeletionTime="fwmdtOnFillingFinished" isForReauthenticationOnly="1">
      …
      <cancellingAlgorithm>
         <command type="ctFillCtrl">
            <description>Нажать на Invisible Window</description>
            <dataFillCtrl fillingType="cftClickButton" clearCtrlText="1">
               <ctrl className="Button" ctrlId="1009">
               </ctrl>
               <fieldValueInfo field="ffNoData"/>
            </dataFillCtrl>
            </command>
      </cancellingAlgorithm>
   </formData>
</forms>

В приведенном примере при отмене формы входа (например, если нажать кнопку "Отмена" в окне SSO) в окне входа будет нажата кнопка "Invisible Window" (при этом название кнопки изменится на "Close Window").

Посмотреть работу примера можно с помощью готового шаблона (IndeedID.Test.App.formData.Example1.app).

Атрибуты
value
Значение идентификатора плагина.

Опциональный параметр. Отсутствие означает некорректность соответсвующего описания идентификатора плагина.



Вложения 
 
 IndeedID.Test.App.formData.Example1.app (25.62 кБ)
 IndeedID.Test.App.formData.Example2.app (30.67 кБ)
(0 голос(а))
Эта статья полезна
Эта статья бесполезна

Комментарии (0)
Добавить новый комментарий
 
 
Полное имя:
Email:
Комментарии: