Создание шаблонов приложений
Для подготовки XML-шаблонов win32- и веб-приложений, интегрированных с модулем ESSO Agent, предназначена утилита Indeed-Id ESSO Template Wizard (Мастер шаблонов).
Утилита обрабатывает форму целевого приложения и формирует слепок формы. Это набор данных, описывающий элементы формы, например, имя заголовка, идентификаторы кнопок и полей ввода данных. На основе данных, содержащихся в шаблоне, ESSO Agent отследит запуск целевого приложения на рабочей станции пользователя и, в зависимости от настроек для конкретного пользователя, предоставит или не предоставит доступ.
Полученный слепок является заготовкой для создания шаблона приложения. Поэтому после генерации слепка его нужно отредактировать вручную.
Установить Indeed-Id ESSO Template Wizard
Установите Indeed-Id ESSO Template Wizard на рабочих станциях, где установлены приложения, для которых необходимо подготовить шаблон.
Для этого запустите файл Indeed AM <номер версии>/Indeed AM Template Wizard/<номер версии>/IndeedID.ESSO.Template.Wizard.msi и следуйте указаниям мастера установки.
После завершения установки компоненты Indeed-Id ESSO Template Wizard — Web Мастер шаблонов и Win32 Мастер шаблонов — появятся в разделе Все программы → Indeed-Id → Enterprise SSO.
Собрать информацию о приложении
Прежде чем создавать шаблон приложения, соберите о нем следующую информацию:
Набор окон целевого приложения, которые будет обрабатывать ESSO-шаблон. При этом можно ориентироваться на основные операции, которые способен выполнять шаблон:
- вход в приложение;
- разблокировка;
- смена пароля в приложении.
В некоторых случаях пользовательский сценарий предполагает отказ от пароля — пользователь не знает свой пароль и использует аутентификатор или прозрачную аутентификацию для работы с целевым приложением. Тогда все окна, в которых пользователю предлагается ввести пароль для приложения, необходимо включить в список обрабатываемых окон. Помимо самих целевых окон важно обратить внимание на контролы (элементы управления интерфейсом), которые должны обрабатываться шаблоном.
Набор способов запуска приложения, например через ярлыки, командные или исполняемые файлы. Эта информация необходима для настройки быстрого запуска приложения.
Набор исполняемых файлов, создающих процессы, отображающие графический интерфейс приложения — окна, на которые должен реагировать ESSO Agent. Для каждого такого файла необходимо узнать имя, описание и расположение. Если у приложения только один исполняемый файл, то достаточно той информации, которую Мастер шаблонов соберет во время работы.
Создать шаблон
Определив список необходимых окон и операций, можно приступить к созданию слепка или слепков шаблона. Для одного окна может потребоваться несколько слепков. Также в процессе отладки шаблона может потребоваться создать дополнительные слепки. Поэтому доступ к рабочей станции с установленным целевым приложением и Indeed-Id ESSO Template Wizard необходим на протяжении всего процесса создания шаблона.
- Для win32-приложений
- Для веб-приложений
Запустите приложение Enterprise SSO — Win 32 Мастер шаблонов.
Запустите целевое приложение, шаблон для которого нужно создать, и перейдите на его форму входа.
Нажмите комбинацию клавиш Ctr+Shift+T.
В мастере шаблонов откроется окно настроек генерации шаблона. Укажите в нем необходимые параметры.
Настройки глубины контролов формы
Глубина просмотра контролов формы.
С помощью данного параметра можно задать глубину вложенности элементов управления формы, на основе которой Мастер шаблонов построит шаблон. Данный параметр задается вручную при создании шаблона. Если параметр равен 0, то Мастер шаблонов соберет информацию только о невложенных элементах управления. Если параметр равен 1, то Мастер шаблонов соберет данные о невложенных элементах управления и об элементах управления первого уровня вложенности и так далее.
Глубина контролов выбранной формы.
Данный параметр отображает максимальную глубину вложенности элементов управления на выбранной форме — сколько уровней вложенности элементов управления существует на форме. При выборе значения параметра Глубина просмотра контролов формы рекомендуется ориентироваться на данный параметр. Значение глубины контролов для выбранной формы Мастер шаблонов вычисляет индивидуально для каждой формы в момент определения целевой формы приложения.
Настройки формы целевого приложения
Данный набор настроек позволяет задать совокупность признаков формы приложения, которые будут учитываться Агентом ESSO при поиске целевого окна среди множества окон целевого приложения.
Заголовок | При включении данной настройки значение заголовка формы будет учитываться в процессе отслеживания целевой формы целевого приложения. В шаблон будет добавлено фиксированное значение заголовка для сравнения. Если настройка выключена, значение заголовка формы при определении целевой формы приложения учитываться не будет. Рекомендуется использовать данный параметр в шаблоне, кроме случаев, когда заголовок динамически изменяется. |
Имя класса окна | При включении данной настройки в процессе отслеживания целевой формы целевого приложения будет учитываться имя класса окна для данной формы. Имя класса окна задается на этапе разработки приложения. В шаблон будет добавлено фиксированное значение имени класса окна для сравнения. Если настройка выключена, имя класса окна при определении целевой формы приложения учитываться не будет. Рекомендуется использовать данный параметр в шаблоне, кроме случаев, когда имя класса изменяется динамически. |
Размеры | При включении данной настройки в процессе отслеживания целевой формы целевого приложения будут учитываться строго зафиксированные размеры окна — ширина и высота в пикселях. В шаблон будет добавлено фиксированное значение размеров формы для сравнения. Если настройка выключена, размеры окна при определении целевой формы приложения учитываться не будут. Использовать данный параметр следует только в тех случаях, когда остальные параметры не позволяют достаточно точно описать целевую форму приложения. |
Настройки контролов формы целевого приложения
Данный набор настроек позволяет задать совокупность признаков элементов управления, присутствующих в окне приложения, которые ESSO Agent будет учитывать при поиске целевого окна среди множества окон целевого приложения.
CtrId | Если данная настройка включена, в процессе отслеживания целевой формы целевого приложения будут учитываться идентификаторы всех контролов, которые входят в состав окна. Эти идентификаторы задаются на этапе разработки приложения. Значения всех идентификаторов элементов управления будут зафиксированы в шаблоне. Если настройка выключена, идентификаторы элементов управления при определении целевой формы приложения учитываться не будут. Рекомендуется использовать данный параметр, кроме случаев, когда идентификаторы контролов в целевой форме изменяется динамически. |
Имя класса окна | Если данная настройка включена, в процессе отслеживания целевой формы целевого приложения будет учитываться имя класса окна для данной формы. Имя класса окна задается на этапе разработки приложения. В шаблон будет добавлено фиксированное значение имени класса окна для сравнения. Если настройка выключена, имя класса окна при определении целевой формы приложения учитываться не будет. Рекомендуется использовать данный параметр в шаблоне, кроме случаев, когда имя класса изменяется динамически. |
Текст | Включение данной настройки позволяет учитывать текст, содержащийся в элементах управления в окне приложения (поля ввода, выпадающие списки и так далее), в процессе отслеживания целевой формы целевого приложения. Параметр учитывается для всех элементов управления, которые входят в состав окна. Значения всех текстовых строк для элементов управления будут зафиксированы в шаблоне. Если настройка выключена, текст элементов управления при определении целевой формы приложения учитываться не будет. ВАЖНО: При создании шаблона обращайте внимание на изменение текста элементов управления. При различных обстоятельствах — например, при смене языка в системе или в приложении, изменении версии приложения или смене пользователя — текст в элементе управления может измениться. Это может помешать процедуре отслеживания приложения. Не используйте динамически изменяющийся текст в шаблоне либо учитывайте все возможные варианты данного параметра. |
Размеры | Если данная настройка включена, в процессе отслеживания целевой формы целевого приложения будут учитываться строго зафиксированные размеры всех элементов управления в окне — ширина и высота в пикселях. В шаблон будет добавлено фиксированное значение размеров для сравнения. Если настройка выключена, размеры элементов управления при определении целевой формы приложения учитываться не будут. Используйте данный параметр только в тех случаях, когда остальные параметры не позволяют достаточно точно описать свойства элементов управления целевой формы приложения. |
Позиция | Если данная настройка включена, в процессе отслеживания целевой формы целевого приложения будет учитываться строго зафиксированная позиция — позиция левого верхнего угла элемента управления относительно левого верхнего угла контейнера, содержащего этот элемент управления, в пикселях — для всех элементов управления в окне. В шаблон будет добавлено фиксированное значение позиции для сравнения. Если настройка выключена, позиция элементов управления при определении целевой формы приложения учитываться не будет. Используйте данный параметр только в тех случаях, когда остальные параметры не позволяют достаточно точно описать свойства элементов управления целевой формы приложения. |
Visible | Если данная настройка включена, в процессе отслеживания целевой формы целевого приложения учитывается признак видимости — виден ли присутствующий в форме элемент управления для пользователя — всех элементов управления, которые входят в состав окна. Значения свойства видимости для элементов управления будут зафиксированы в шаблоне. Если настройка выключена, видимость элементов управления при определении целевой формы приложения учитываться не будет. |
Enable | Если данная настройка включена, в процессе отслеживания целевой формы целевого приложения учитывается признак доступности — доступен ли элемент управления для действий пользователя — всех элементов управления, которые входят в состав окна. Значения свойства доступности для элементов управления будут зафиксированы в шаблоне. Если настройка выключена, доступность элементов управления при определении целевой формы приложения учитываться не будет. |
Настройки алгоритма заполнения
В данном разделе задается алгоритм заполнения, который будет использован в процессе подстановки имени пользователя и пароля в целевую форму приложения ESSO.
Нет | Алгоритм заполнения не будет сгенерирован в шаблоне. Автоматическое заполнение формы происходить не будет. |
На основе SetText | После выбора данной настройки Мастер шаблонов сгенерирует команды заполнения поля ввода имени пользователя, заполнения поля ввода пароля и нажатия кнопки ОК. Каждая команда будет содержать данные элемента управления, к которому она должна быть применена. Заполнение элементов управления формы будет производиться стандартным методом SetText. Рекомендуется использовать данный алгоритм заполнения. |
Эмуляция ввода | Если выбрана эта настройка, Мастер шаблонов сгенерирует команды установки фокуса в поле ввода имени пользователя, заполнения поля ввода имени пользователя, заполнения поля ввода пароля, нажатия кнопки ОК, команды перехода между элементами управления и команды паузы. Само заполнение будет происходить с помощью эмуляции нажатия клавиш клавиатуры. Переход фокуса между элементами управления будет осуществляться эмуляцией нажатия клавиши Tab. В алгоритме заполнения также будут присутствовать команды паузы в 50 миллисекунд командами заполнения и перехода. Рекомендуется к использованию в шаблонах для приложений, в которых использование метода SetText невозможно или затруднено. |
При создании шаблона для конкретного приложения задавайте только тот набор настроек, который будет отличать это приложение от других. Перед генерацией шаблона важно понять, по каким признакам будет определяться форма входа в приложение, и какой алгоритм заполнения необходимо применить.
Нажмите Генерировать.
Откроется окно Определение контрола формы. Перейдите в окно целевого приложения на нужный контрол и нажмите Ctrl+Shift+T. Следуя подсказкам Мастера шаблонов, выполните эти действия для каждого выбранного элемента управления.
После определения контролов будет создан макет шаблона.
Включите опцию Сохранять в UTF−16 и нажмите Сохранить.
В открывшемся окне выберите место сохранения и укажите имя файла макета шаблона. Нажмите Сохранить.
Макет сохранится в формате XML.
В окне Мастера шаблонов нажмите Выход и закройте целевое приложение.
Откройте макет в редакторе Блокнот или другом текстовом редакторе, поддерживающем формат XML.
Проверьте путь к целевому приложению в разделе
paths
. При необходимости можно добавить дополнительный путь, по которому будет доступно приложение.
<paths>
<path>C:\Users\Admin\Desktop\TestApps\ТестApp\TestAppWin\IndeedID.SSO.Test.App.exe</path>
<path>C:\Users\Admin\Desktop\IndeedID.SSO.Test.App.exe</path>
</paths>
- В параметре
userDescription
укажите название целевого приложения. Именно это название пользователь будет видеть в окне ESSO Agent на своем устройстве.
<userDescription>Test.App.Win</userDescription>
- В параметре
cmdLine
проверьте команду для быстрого запуска приложения. Это должен быть путь до исполняемого файла приложения.
<applicationDetails>
<cmdLine>C:\Users\Admin\Desktop\IndeedID.SSO.Test.App.exe</cmdLine>
</applicationDetails>
Если при генерации макета шаблона в качестве алгоритма заполнения была выбрана опция Эмуляция ввода, то проверьте, в каком поле изначально установлен курсор при запуске приложения и в какой последовательности он перемещается по остальным контролам. По результатам этого исследования, если нужно, отредактируйте алгоритм заполнения формы в шаблоне в разделе
fillingAlgorithm
.Сохраните измененный файл шаблона с расширением APP.
Запустите Enterprise SSO — Web Мастер шаблонов.
Запустите целевое приложение в браузере Internet Explorer.
Находясь на целевой странице приложения нажмите Ctrl+Shift+T.
Откроется окно Мастера Определение особенностей формы.
- Перейдите на целевую страницу, выделите небольшой участок, на котором располагаются поля ввода имени пользователя, пароля, кнопки, и нажмите Ctrl+Shift+T.
В этот момент Мастер определяет узлы HTML DOM-дерева. По завершению операции число определенных узлов будет указано в нижней части окна Мастера в строке Определено узлов HTML DOM дерева страницы.
Этот шаг может занять некоторое время. Длительность работы Мастера зависит от количества объектов обрабатываемого участка веб−страницы. Не спешите закрывать страницу или окно Мастера.
- После определения особенностей страницы нажмите Генерировать шаблон и укажите параметры генерации.
Настройки формы целевого приложения
Данный набор настроек позволяет задать совокупность признаков веб−страницы приложения, которые ESSO Agent будет учитывать при поиске целевой страницы среди множества загруженных страниц браузера.
URL страницы | Если данная настройка включена, в процессе отслеживания отслеживания целевой веб−страницы приложения ESSO будет учитываться URL страницы. В шаблон будет добавлено фиксированное значение URL для сравнения. Если настройка выключена, URL при определении целевой веб−страницы учитываться не будет. Рекомендуется использовать данный параметр в шаблоне, кроме случаев, когда URL динамически изменяется. Для таких страниц либо откажитесь от использования данного параметра, либо используйте регулярное выражение. |
Заголовок страницы | Если данная настройка включена, в процессе отслеживания целевой веб−страницы приложения ESSO будет учитываться значение заголовка страницы. В шаблон будет добавлено фиксированное значение заголовка для сравнения. Если настройка выключена, значение заголовка при определении целевой веб−страницы учитываться не будет. Рекомендуется использовать данный параметр в шаблоне, кроме случаев, когда заголовок динамически изменяется. Для таких страниц либо откажитесь от использования данного параметра, либо используйте регулярное выражение. |
Настройки контролов формы целевого приложения
Данный набор настроек позволяет задать совокупность признаков веб-элементов управления, присутствующих на странице, которые ESSO Agent будет учитывать при поиске целевой страницы среди множества загруженных страниц браузера.
Имя тега | Если данная настройка включена, в процессе отслеживания целевой веб−страницы приложения ESSO будет учитываться имя тега для каждого веб−элемента, входящего в состав DOM−дерева фрагмента страницы, выделенного на этапе подготовки к генерации шаблона. В шаблон будет добавлено фиксированное значение имени тега для сравнения. Если настройка выключена, имя тега для веб−элементов при определении целевой формы приложения учитываться не будет. Рекомендуется использовать данный параметр в шаблоне, кроме случаев, когда имя тега изменяется динамически. |
Текст | Если данная настройка включена, в процессе отслеживания целевой веб−страницы приложения ESSO будет учитываться текст для каждого веб−элемента, входящего в состав DOM−дерева фрагмента страницы, выделенного на этапе подготовки к генерации шаблона. В шаблон будет добавлено фиксированное значение текста для сравнения. Если настройка выключена, значение текстовой составляющей для веб−элементов при определении целевой формы приложения учитываться не будет. При использовании данного параметра рекомендуется проверить получившийся шаблон — массив текста в шаблоне может превышать ожидаемый, что приведет к проблеме с отслеживанием целевой веб−страницы и усложнит редактирование шаблона. |
Атрибут id | Если данная настройка включена, в процессе отслеживания целевой веб−страницы приложения ESSO будет учитываться значение атрибута id для каждого веб−элемента, входящего в состав DOM−дерева фрагмента страницы, выделенного на этапе подготовки к генерации шаблона. В шаблон будет добавлено фиксированное значение атрибутов id для сравнения. Если настройка выключена, значение атрибута id для веб−элементов при определении целевой формы приложения учитываться не будет. Рекомендуется к использованию. |
Атрибут name | Если данная настройка включена, в процессе отслеживания целевой веб−страницы приложения ESSO будет учитываться значение атрибута name для каждого веб−элемента, входящего в состав DOM−дерева фрагмента страницы, выделенного на этапе подготовки к генерации шаблона. В шаблон будет добавлено фиксированное значение атрибутов name для сравнения. Если настройка выключена, значение атрибута name для web−элементов при определении целевой формы приложения учитываться не будет. Рекомендуется к использованию. |
Другие атрибуты | Если данная настройка включена, в процессе отслеживания целевой веб−страницы приложения ESSO будет учитываться набор значений для указанного списка атрибутов для каждого веб−элемента, входящего в состав DOM−дерева фрагмента страницы, выделенного на этапе подготовки к генерации шаблона. Атрибуты для отслеживания необходимо выбрать из раскрывающегося списка. Чтобы открыть список, нажмите .... В шаблон будут добавлены фиксированные значения указанных атрибутов для сравнения. Данный параметр рекомендуется использовать, когда остальные параметры не могут однозначно описать элемент формы. |
Стилевые атрибуты | Если данная настройка включена, в процессе отслеживания целевой веб−страницы приложения ESSO будет учитываться набор значений для указанного списка стилевых атрибутов для каждого веб−элемента, входящего в состав DOM−дерева фрагмента страницы, выделенного на этапе подготовки к генерации шаблона. Стилевые атрибуты для отслеживания необходимо выбрать из раскрывающегося списка. Чтобы открыть список, нажмите .... В шаблон будут добавлены фиксированные значения указанных стилевых атрибутов для сравнения. Данный параметр рекомендуется использовать, когда остальные параметры не могут однозначно описать элемент формы. |
Если есть id, подставлять все остальное | Если у веб-элемента есть атрибут id, все другие атрибуты для данного элемента не будут использованы в шаблоне. Данную настройку можно применять, если атрибут id — основной параметр, по которому будет происходить определение целевой страницы. |
Использовать текст, только когда нет других | Атрибут text будет использован, если никаких других указанных атрибутов для данного элемента не будет найдено. В противном случае, атрибут text не будет использован в шаблоне. Рекомендуется к использованию. |
Настройки алгоритма заполнения
В данном разделе производится выбор алгоритма заполнения, который будет использован в процессе подстановки имени пользователя и пароля в целевую веб−страницу приложения ESSO.
Нет | Алгоритм заполнения не будет сгенерирован в шаблоне. Автоматическое заполнение формы происходить не будет. |
На основе fillWebCtrl | Если выбрана данная настройка, Мастер шаблонов запросит у пользователя указать 3 контрола на веб−странице с помощью сочетания клавиш Ctrl+Shift+T и сгенерирует 3 команды в алгоритме заполнения для данных элементов:
|
При создании шаблона для конкретного приложения задайте только тот набор настроек, который будет отличать это приложение от других. Перед генерацией шаблона важно понять, какие контролы будут задействованы в определении формы входа веб−приложения.
- Нажмите Генерировать.
Если при настройке генерации шаблона был задан алгоритм заполнения, откроется окно Определение контрола формы.
Перейдите на странице целевого приложения на нужный контрол и нажмите Ctrl+Shift+T. Следуя подсказкам Мастера шаблонов, выполните эти действия для каждого выбранного элемента управления.
Включите опцию Сохранять в UTF−16 и нажмите Сохранить.
В открывшемся окне выберите место сохранения и укажите имя файла макета шаблона. Нажмите Сохранить.
Макет сохранится в формате XML. В окне Мастера шаблонов нажмите Выход и закройте целевое приложение.
Откройте макет в редакторе Блокнот или другом текстовом редакторе, поддерживающем формат XML.
Если в начале файла есть следующая строка, удалите ее:
<?xml version="1.0" encoding="UTF-16"?>
- Проверьте адрес целевого приложения в параметре
url
.
<componentWeb>
<url>https://amcore.indeed.com/TestAppWeb/logon.html</url>
</componentWeb>
Значение адреса может быть задано в виде текста или регулярного выражения.
Если адрес целевого приложения динамически меняется, используйте регулярное выражение. В этом случае параметр url
должен содержать использовать атрибут isRegex
со значением 1. При значении 0 адрес приложения определяется текстом.
<componentWeb>
<url isRegex="1">https:\/\/amcore\.indeed\.com\/TestAppWeb\/logon\.html(.*)</url>
</componentWeb>
- В параметре
userDescription
пропишите название целевого приложения. Именно это название пользователь будет видеть в окне ESSO Agent на своем устройстве.
<userDescription>Test.App.Web</userDescription>
- В параметре
cmdLine
проверьте команду для быстрого запуска приложения. Это должна быть команда запуска браузера и адрес страницы приложения.
<applicationDetails>
<cmdLine>"%ProgramFiles%\\Internet Explorer\\iexplore.exe" "https://amcore.indeed.com/TestAppWeb/logon.html"
</cmdLine>
</applicationDetails>
- Сохраните измененный файл шаблона с расширением APP.