Перехват и заполение окон Windows Security для Basic/Digest аутентификации в Internet Explorer Агентом SSO
Автор Anton Shlykov, Last modified by Mikhail Baturinskiy на 22 января 2024 04:22 PM

В данной статье мы рассмотрим процедуру добавления в 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-компонент и описание формы.



Вложения 
 
 Indeed-Id.Demo.Web.App.BasicAuth.app (3.53 кБ)
(2 голос(а))
Эта статья полезна
Эта статья бесполезна

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