Описание структуры операций в SSO шаблонах, их синтаксис параметры и атрибуты, примеры описания операций.
СИНТАКСИС
<[операция] timeoutMs=”таймаут” failureReaction=”реакция на ошибку” rematchAttemptsLimit=”лимит попыток рематчинга”>> <forms>
<formData>
[данные формы 1]
</formData>
…
<formData>
[данные формы N]
</formData>
</forms> <resultSigns>
<formsOpOk>
[данные формы]
</formsOpOk>
<formsOpFailed>
[данные формы]
</formsOpFailed>
</resultSigns> <failureReactionAskingDetails isDefaultOptionDisabled="флаг”>
<disabledOptions>
<failureReaction>[опция 1]</failureReaction>
…
<failureReaction>[опция M]</failureReaction>
</disabledOptions>
</failureReactionAskingDetails> </[операция]>
ПАРАМЕТРЫ
<[операция]> Структура описывает операцию.
Возможные значения: opLogon - операция входа opPasswordChange - операция смены пароля opUnlock - операция разблокировки
Пример:
Описание операции входа:
<opLogon failureReaction="frRematchTargetForm" rematchAttemptsLimit="2">
<forms>
...
</forms>
<failureReactionAskingDetails isDefaultOptionDisabled="1">
<disabledOptions>
<failureReaction>frNone</failureReaction>
</disabledOptions>
</failureReactionAskingDetails>
</opLogon>
Описание операции смены пароля:
<opPasswordChange failureReaction="frRematchTargetForm" rematchAttemptsLimit="2">
<forms>
...
</forms>
<failureReactionAskingDetails isDefaultOptionDisabled="1">
<disabledOptions>
<failureReaction>frNone</failureReaction>
</disabledOptions>
</failureReactionAskingDetails>
</opPasswordChange>
Описание операции разблокировки:
<opUnlock failureReaction="frRematchTargetForm" rematchAttemptsLimit="2">
<forms>
...
</forms>
<failureReactionAskingDetails isDefaultOptionDisabled="1">
<disabledOptions>
<failureReaction>frNone</failureReaction>
</disabledOptions>
</failureReactionAskingDetails>
</opUnlock>
Атрибуты
timeoutMs Таймаут операции (в миллисекундах).
Параметр имеет смысл только для операций с заданной формой-признаком ошибки.
Операция завершается ошибкой после матчинга формы-признака ошибки по истечении заданного времени.
Если таймаут операции не задан, операция завершается ошибкой сразу после матчинга формы-признака ошибки.
После завершения операции с ошибкой выполняется дейсвие, заданное в качестве реакции на ошибку (атрибут failureReaction).
Опциональный параметр. Значение по умолчанию: 0.
failureReaction Реакция на ошибку операции.
Описывает действие, которое должно быть выполнено в том случае, если операция завершилась ошибкой.
Возможные значения:
frRematchTargetForm - выполнять рематчинг (повторный матчинг) формы При завершении операции с ошибкой будет выполнен повторный матчинг формы (если она продолжает существовать) и начато выполнение новой операции. Количество попыток рематчинга определяется значением атрибута rematchAttemptsLimit. По истечению лимита попыток рематчинга агент запрашивает действие реакции на ошибку у юзера.
frCancelTargetForm - завершить матчинг формы При завершении операции с ошибкой процесс матчинга формы будет завершен и форма будет закрыта. Приложение при этом закрыто не будет.
frTerminateApplication - закрыть приложение При завершении операции с ошибкой приложение будет закрыто.
frAskUser запросить у пользователя способ реакции на ошибку При завершении операции с ошибкой появляется запрос действия, которое необходимо выполнить в качестве реакции на возникшую ошибку. Доступность действий определяется состоянием приложения на момент появления запроса.
Опциональный параметр. Значение по умолчанию: frAskUser.
rematchAttemptsLimit Лимит попыток рематчинга формы.
Определяет число повторных попыток матчинга формы. Значение атрибута имеет смысл только в том случае, если атрибутfailureReaction имеет значение frRematchTargetForm. В остальных случаях значение атрибута не учитывается.
После истечения лимита попыток рематчинга формы ESSO Агент запрашивает у пользователя способ реакции на ошибку.
Опциональный параметр. Значение по умолчанию: 0 (число повторных попыток не ограничено).
Пример:
Описание операции входа:
<opPasswordChange failureReaction="frRematchTargetForm" rematchAttemptsLimit="3">
...
</opPasswordChange>
В приведенном примере допускается три попытки рематчинга формы смены пароля.
<forms> Структура задает список целевых форм операции.
<formData> Структура описывает целевую форму операции.
Описание структуры приведено в разделе "Формы приложения".
<resultSigns> Структура задает данные для распознавания результата выполнения операции.
Опциональный параметр. Значение по умолчанию: пусто (нет данных). В этом случае результат выполнения операции всегда считается успешным и данные операции сохраняются в базу данных SSO.
<formsOpOk> Структура задает список форм-признаков успешного завершения операции.
Описание структуры приведено в разделе "Формы приложения".
Обязательный параметр (в рамках структуры <resultSigns>). Если в структуре <resultSigns> формы-признаки успеха не описаны, данные операции не будут сохранены в базу данных SSO.
<formsOpFailed> Структура задает список форм-признаков успешного завершения операции.
Описание структуры приведено в разделе "Формы приложения".
Обязательный параметр (в рамках структуры <resultSigns>).
<failureReactionAskingDetails> Структура задает данные для окна ESSO Агента с запросом способа реакции на ошибку операции.
Атрибуты
isDefaultOptionDisabled Флаг запрета отображения действия, предусмотренного по умолчанию, для окна ESSO Агента с запросом способа реакции на ошибку операции.
При включенном значении флага действие, предусмотренное по умолчанию для данной ситуации, выделяется в интерфейсе.
В качестве действия по умолчанию установлены следующие реакции ESSO Агента:
Возможные значения: 0 - флаг выключен (отображать действие по умолчанию) 1 - флаг включен (не отображать действие по умолчанию)
Опциональный параметр. Значение по умолчанию: 0.
disabledOptions Структура задает список запрещенных действий для окна ESSO Агента с запросом способа реакции на ошибку операции.
Опциональный параметр. Значение по умолчанию: пусто (нет запрещенных опций).
failureReaction Тег задает запрещенную опцию реакции на ошибку операции.
Кнопка, предназначенная для выполнения соответствующего действия, в окне ESSO Агента с запросом способа реакции на ошибку операции будет неактивна.
Возможные значения: frRematchTargetForm - запретить повторный рематчинг(повторный матчинг) формы. frCancelTargetForm - запретить закрытие формы приложения. frTerminateApplication - запретить завершение приложения. frNone - запретить игнорировать ошибку операции.
ПРИМЕРЫ
Данный раздел содержит примеры описания операций и соответствующие готовые шаблоны для тестового приложения"Indeed-Id SSO Test Application" для демонстрации работы приведенных примеров.
Для просмотра работы примеров необходимо выполнить следующие действия:
Пример 1
Пример демонстрирует:
-
описание нескольких операций в одном шаблоне (в шаблоне описаны операции входа, смены пароля, разблокировки);
-
настройку параметров операции: реакция на ошибку операции, лимит попыток рематчинга формы (на примере операции смены пароля);
-
распознавание результата выполнения операции: описание форм-признаков успеха и ошибки операции (на примере операции смены пароля).
Описание операции, целевой формы (формы смены пароля), форм-признаков успеха и ошибки операции:
<opPasswordChange failureReaction="frRematchTargetForm" rematchAttemptsLimit="2">
<forms>
...
</forms>
<resultSigns>
<formsOpOk>
<formData id="{3E25563A-4853-428E-A33E-8763A57CF864}" filledWndMarkDeletionTime="fwmdtOnFillingFinished">
<matching matchingType="CFormData::mtWin32">
<matchingWin32 className="#32770" componentId="<Win32Component>">
...
</matchingWin32>
</matching>
<fillingAlgorithm>
...
</fillingAlgorithm>
</formData>
</formsOpOk>
<formsOpFailed>
<formData id="{F377315E-CF1B-4902-A4B3-84ACCA39E10A}" filledWndMarkDeletionTime="fwmdtOnFillingFinished">
<matching matchingType="CFormData::mtWin32">
...
</matching>
<fillingAlgorithm>
...
</fillingAlgorithm>
</formData>
</formsOpFailed>
</resultSigns>
...
</opPasswordChange>
В приведенном примере при завершении операции смены пароля ошибкой (для тестового приложения – при имуляции данной ситуации) появляется окно с сообщением об ошибке (форма-признак ошибки операции). ESSO Агент закрывает это окно нажатием кнопки "OK" (это действие описано в алгоритме заполнения формы-признака ошибки операции).
После этого происходит повторный матчинг окна смены пароля. Повторный матчинг будет выполнен не более 2 раз. По истечении количества попыток появится окно ESSO Агента с запросом способа обработки ошибки. При успешном выполнении операции открывается окно с сообщением об успешной смене пароля.
Посмотреть работу примера можно с помощью готового шаблона (IndeedID.Test.App.operations.Example1.app).
Пример 2
Пример демонстрирует:
-
определение данных для интерфейса реакции на ошибку (на примере операции смены пароля), а именно: отображение действия, предусмотренного по умолчанию, определение запрещенных опций.
Описание операции, целевой формы (формы смены пароля), форм-признаков успеха и ошибки операции:
<opPasswordChange failureReaction="frRematchTargetForm" rematchAttemptsLimit="2">
<forms>
...
</forms>
<resultSigns>
<formsOpOk>
...
</formsOpOk>
<formsOpFailed>
...
</formsOpFailed>
</resultSigns>
<failureReactionAskingDetails isDefaultOptionDisabled="0">
<disabledOptions>
<failureReaction>frRematchTargetForm</failureReaction>
<failureReaction>frNone</failureReaction>
</disabledOptions>
</failureReactionAskingDetails>
</opPasswordChange>
В приведенном примере по истечении количества попыток рематчинга окна смены пароля появляется окно ESSO Агента с запросом способа обработки ошибки. При этом в окне запроса выделено действие по умолчанию (для приложений с типом запуска "Только Indeed-Id ESSO Агент" – это завершение приложения), повторный матчинг окна и игнорирование ошибки запрещены.
Посмотреть работу примера можно с помощью готового шаблона (IndeedID.Test.App.operations.Example2.app).
|