Кастомные поля
Автор Nikolay Ilin на 14 марта 2016 12:38 PM

В некоторых приложениях для авторизации, помимо логина и пароля, требуются дополнительные параметры (например, сервер, база данных и т.п.). Поля для задания дополнительных параметров авторизации в терминологии Indeed-Id называются кастомными полями.

Для обработки кастомного поля (обучение, заполнение поля и т.п.) в шаблоне приложения необходимо:

  • описать кастомное поле;

  • описать команду заполнения кастомного поля в алгоритме заполнения.

СИНТАКСИС

<customFields>
   <customField id="ID поля">

      <field emptyStringValueForbidden="флаг пустого значения" editLengthSymbols="ширина поля" alternateLogin="флаг альтернативного логина">
      <displayedName>имя поля</displayedName>
      <value type="тип значения поля">
         <str>значение поля</str>
      </value>
      </field>
   </customField>
   ...
</customFields>

ПАРАМЕТРЫ

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

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

<customField>
Структура задает описание кастомного поля в виде набора пар <идентификатор поля; описание поля>.

Атрибуты
id
Идентификатор кастомного поля.

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

Значение: число, строка.

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

<field>
Структура задает описание кастомного поля.

Атрибуты
emptyStringValueForbidden
Флаг запрета пустых строковых значений поля.

Возможные значения:
0 - поле может иметь пустое значение;
1 - поле не может иметь пустое значение.

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

editLengthSymbols
Ширина поля для редактирования значения кастомного поля при самообучении.

Значение по умолчанию: 43 символа.

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

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

alternateLogin
Флаг использования значения кастомного поля в качестве альтернативного имени учетной записи SSO.

Возможные значения:
0 - значение поля не используется в качестве альтернативного имени учетной записи SSO;
1 - значение поля используется в качестве альтернативного имени учетной записи SSO.

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

В качестве альтернативного имени учетной записи SSO целесообразно использовать самообучаемое кастомное поле.

Обучение кастомного поля происходит при обучении имени учетной записи SSO пользователем, при этом процесс обучения не отличается от стандартного обучения учетной записи.

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

<displayedName>
Имя кастомного поля, отображаемое в ESSO Консоли в настройках учетной записи SSO.

Значение: непустая строка.

<value>
Структура задает значение кастомного поля.

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

Атрибуты
type
Тип значения кастомного поля.

Обязательный параметр.

Возможные значения:
   vtString   строковое значение

<str>
Строковое значение кастомного поля.

Задание тега имеет смысл только в том случае, если для кастомного поля задан строковый тип ( т.е. тогда, когда тег typeимеет значение vtString). В остальных случаях значение тега при обработке шаблона не учитывается.

Заданное значение является значением по умолчанию и используется при добавлении новой записи SSO для пользователя. Для существующей записи пользователя текущее значение поля изменено не будет.

Если для поля задан строковый тип (тег type имеет значение vtString) при запрете пустых строковых значениях поля (атрибут emptyStringValueForbidden имеет значение 1), значение тега <str> должно быть непустой строкой. Если тег<str> при указанных условиях имеет пустое значение, кастомное поле будет определено как самообучаемое.

САМООБУЧАЕМЫЕ КАСТОМНЫЕ ПОЛЯ

Самообучаемым кастомным полем называется кастомное поле, значение которого задается пользователем при обучении учетной записи SSO для приложения.

Для того, чтобы определить самообучаемое кастомное поле, необходимо:

  • установить флаг запрета пустых строковых значений поля (т.е. установить значение атрибутаemptyStringValueForbidden равным 1);

  • удалить из описания значение поля (тег <value>)

СИНТАКСИС

<customField id="ID поля">
   <field emptyStringValueForbidden="флаг пустого значения" editLengthSymbols="ширина поля" alternateLogin="флаг альтернативного логина">
      <displayedName>имя поля</displayedName>
   </field>
</customField>

В ESSO Консоли самообучаемое кастомное поле отображается с соответствующим комментарием.

Порядок обучения кастомных полей может быть определен структурой <customFieldsSelfEnrollmentOrder>

ПОРЯДОК ОБУЧЕНИЯ КАСТОМНЫХ ПОЛЕЙ

В некоторых случаях обучение кастомных полей необходимо выполнять в определенном порядке. Шаблоны ESSO позволяют задать этот порядок.

СИНТАКСИС

<customFieldsSelfEnrollmentOrder>

   <fieldId>идентификатор кастомного поля 1</fieldId>
      …
   <fieldId>идентификатор кастомного поля N</fieldId>

</customFieldsSelfEnrollmentOrder>

ПАРАМЕТРЫ

<customFieldsSelfEnrollmentOrder>
Структура определяет порядок отображения кастомных полей в ESSO Консоли и порядок обучения кастомных полей.

Сначала отображаются и обучаются поля, для которых порядок явно указан, затем - остальные поля в порядке их перечисления в шаблоне.

Опциональный параметр. Если порядок обучения кастомных полей не задан, отображение в ESSO Консоли и обучение полей выполняется в порядке, соответствующем последовательности описания самообучаемых кастомных полей в структуре <customFileds>.

<fieldId>
Идентификатор кастомного поля.

Кастомное поле с указанным идентификатором должно быть описано в структуре <customFileds>.

ПРИМЕРЫ

Пример 1

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

  • определение кастомного поля, обучаемого пользователем;

  • определение кастомного поля с предопределенным строковым значением;

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

Описание кастомных полей:

<customFields>

   <customField id="fldServer">
      <field emptyStringValueForbidden="1" editLengthSymbols="10" alternateLogin="0">
         <displayedName>Сервер:</displayedName>
      </field>
   </customField>

   <customField id="fldDB">
      <field emptyStringValueForbidden="1" editLengthSymbols="10" alternateLogin="0">
         <displayedName>База данных:</displayedName>
         <value type="vtString">
            <str>TestDB</str>
         </value>
     </field>
   </customField>

</customFields>

В ESSO Консоли в настройках учетной записи SSO будут отображаться два дополнительных поля: “Сервер” и “База данных”.

Поле “Сервер” (идентификатор fldServer) является самообучаемым кастомным полем. Для этого поля в окне самообучения отображается поле, ширина которого соответствует 10 символам.

Поле “База данных” (идентификатор fldDB) имеет строковый тип. По умолчанию это поле имеет значение TestDB (если не было задано другое значение в ESSO Консоли). Обучение пользователем данного поля запрещено. Значение ширины поля для данного кастомного поля не учитывается.

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

Пример 2

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

  • обучение кастомного поля в качестве альтернативного имени учетной записи SSO;

  • заполнение кастомных полей в целевом приложении, в том числе заполнение поля логина обученным значением кастомного поля.

Описание кастомных полей:

<customFields>

   <customField id="fldServer">
      <field emptyStringValueForbidden="1" editLengthSymbols="5" alternateLogin="0">
         <displayedName>Сервер:</displayedName>
      </field>
   </customField>

   <customField id="fldUserName">
      <field emptyStringValueForbidden="1" editLengthSymbols="10" alternateLogin="1">
         <displayedName>Альтернативное имя учетной записи:</displayedName>
      </field>
   </customField>

</customFields>

Описание команды заполнения поля логина значением кастомного поля в алгоритме заполнения:

<fillingAlgorithm>
   ...
   <command type="ctFillCtrl">
      <description>Ввести имя пользователя</description>
      <dataFillCtrl fillingType="cftSetText">
         <ctrl className="Edit" ctrlId="1005">
         </ctrl>
         <fieldValueInfo field="ffCustom" customFieldId="fldUserName"/>
      </dataFillCtrl>
   </command>
   ...
</fillingAlgorithm> 

В приведенном примере пользователю необходимо обучить имя учетно записи при первом входе в целевое приложение. При этом кастомное поле, используемое в качестве альтернативной учетной записи SSO (поле с идентификаторомfldUserName), будет обучено тем же значением. Обученное значение будет подставлено в поле логина при заполнении формы входа целевого приложения.

Посмотреть работу примера можно с помощью готового шаблона (IndeedId.SSO.Test.App.CustomFields.Example2.app).

Пример 3

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

  • определение порядка обучения кастомных полей.

Описание кастомных полей:

<customFields>

   <customField id="fldServer3">
      <field emptyStringValueForbidden="1" editLengthSymbols="10" alternateLogin="0">
         <displayedName>Сервер3:</displayedName>
      </field>
   </customField>

   <customField id="fldServer1">
      <field emptyStringValueForbidden="1" editLengthSymbols="10" alternateLogin="0">
         displayedName>Сервер1:</displayedName>
      </field>
   </customField>

   <customField id="fldDB">
      <field emptyStringValueForbidden="1" editLengthSymbols="10" alternateLogin="0">
         <displayedName>База данных:</displayedName>
         <value type="vtString">
            <str>TestDB</str>
         /value>
      </field>
   </customField>

   <customField id="fldServer2">
      <field emptyStringValueForbidden="1" editLengthSymbols="10" alternateLogin="0">
         <displayedName>Сервер2:</displayedName>
      </field>
   </customField>

</customFields>

Описание порядка обучения кастомных полей:

<customFieldsSelfEnrollmentOrder>
   <fieldId>fldDB</fieldId>
   <fieldId>fldServer1</fieldId>
</customFieldsSelfEnrollmentOrder>

В приведенном примере кастомные поля при обучении будут отображаться в следующей последовательности:

  • Сервер 1 (id="fldServer1")

  • Сервер 3 (id="fldServer3")

  • Сервер 2 (id="fldServer2")


Поле "База данных" отображаться при обучении не будет, т.к. оно не является самообучаемым полем.

В ESSO Консоли кастомные поля будут отображаться в следующей последовательности:

  • База данных (id=" fldDB")

  • Сервер 1 (id="fldServer1")

  • Сервер 3 (id="fldServer3")

  • Сервер 2 (id="fldServer2")

Посмотреть работу примера можно с помощью готового шаблона (IndeedId.SSO.Test.App.CustomFields.Example3.app).



Вложения 
 
 IndeedId.SSO.Test.App.CustomFields.Example1.app (14.79 кБ)
 IndeedId.SSO.Test.App.CustomFields.Example2.app (12.99 кБ)
 IndeedId.SSO.Test.App.CustomFields.Example3.app (15.42 кБ)
(0 голос(а))
Эта статья полезна
Эта статья бесполезна

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