Операции в SSO шаблонах
Автор Nikolay Ilin, Last modified by Nikolay Ilin на 14 марта 2016 12:14 PM

Описание структуры операций в 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 Агента:

  • для приложений SSO-only (тип запуска приложения “Только Indeed-Id 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="&lt;Win32Component&gt;">
               ...
               </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).



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

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