В данной статье мы рассмотрим процедуру добавления в SSO шаблон обработки окна "Безопасность Windows" ("Windows Security") для механизма Basic/Digest аутентификации в Internet Explorer.
Речь идет о следующем окне:
Данное окно появляется при входе в web-приложение, если для доступа к нему настроена Basic/Digest проверка подлинности.
В отличие от окна с запросом учетной записи для проверки подлинности Windows, для которого отрабатывает Credential Provider Indeed-Id, входящий в состав Indeed-Id Windows Logon, окно Basic/Digest аутентификации не позволяет использовать сторонний Credential Provider для аутентификации. В связи с этим перехват и заполнение данного окна должны быть организованы средствами Indeed-Id ESSO Агента.
Проблема заключается в том, что стандартными средствами Агента SSO невозможно получить содержимое данного окна (за исключением заголовка), что не позволяет реализовать механизм матчинга и заполнения.
Начиная с версии 5.4.21 в Агент SSO добавлен механизм, который позволяет корректно перехватывать и заполнять данный тип окон "Безопасность Windows".
Для того, чтобы Агент SSO корректно перехватывал и заполнял подобные окна необходимо в шаблоне добавить соответствующий Web-компонент с указанием URL целевой Web-страницы, а в разделе матчинга добавить тэг FormData, без описания матчинга элементов формы и без указания алгоритма заполнения.
… <formData id="{F8DA6B54-9EB0-42cc-9CA4-AF78F7864F8A}" filledWndMarkDeletionTime="fwmdtOnFillingFinished"> <matching matchingType="CFormData::mtWeb"> <matchingWeb componentId="Идентификатор компонента" /> </matching> </formData> …
Пример: Для приложения IndeedID.SSO.Demo.App, которое опубликовано на IIS по адресу http://iiddemoserver.indeed-id.local/IndeedID.SSO.Demo.App/IndeedID.SSO.Demo.App.htm и для которого настроена проверка подлинности Basic, необходимо настроить вход средствами Indeed-Id Enterprise SSO.
Шаблон в данном случае будет выглядеть следующим образом (файл шаблона прикреплен к статье):
<indeedIDSSOData>
<applications> <application ssoPermissions="spSsoOnly" forceReauthentication="1" id="{F5BD3DB6-80B0-4827-B85A-845C61FE5DB3}"> <matchingDetails> <components> <component type="CFormData::mtWeb" componentId="Demo Web Application"> <componentWeb> <url>http://iiddemoserver.indeed-id.local/IndeedID.SSO.Demo.App/IndeedID.SSO.Demo.App.htm</url> </componentWeb> </component> </components> </matchingDetails> <userDescription>Демонстрационное Web-приложение Indeed-Id</userDescription> <opLogon failureReaction="frRematchTargetForm" rematchAttemptsLimit="2"> <forms> <formData id="{65CE3008-855A-479D-BD39-9B8617F0153F}" filledWndMarkDeletionTime="fwmdtOnFillingFinished"> <matching matchingType="CFormData::mtWeb"> <matchingWeb componentId="Demo Web Application"> </matchingWeb> </matching> </formData> </forms> <failureReactionAskingDetails isDefaultOptionDisabled="1"> <disabledOptions> <failureReaction>frNone</failureReaction> </disabledOptions> </failureReactionAskingDetails> </opLogon> <passwordRestrictions length="8"> </passwordRestrictions> <launcherDetails> <launcherApplications> <applicationDetails> <cmdLine>"%ProgramFiles%\Internet Explorer\iexplore.exe" "http://iiddemoserver.indeed-id.local/IndeedID.SSO.Demo.App/IndeedID.SSO.Demo.App.htm"</cmdLine> </applicationDetails> </launcherApplications> </launcherDetails> </application> </applications>
</indeedIDSSOData>
Жирным выделены соответствующие Web-компонент и описание формы.
|