Iis проверка подлинности windows как добавить

Обновлено: 03.07.2024

Если обмен между Mobile SMARTS и «1С: Предприятием» происходит через веб-сервис «Клеверенса», то для выполнения внешних требований безопасности необходимо подключаться к веб-серверу с авторизацией по пользователю 1С. Но в некоторых организациях для авторизации в IIS можно использовать только данные пользователя Windows. Чтобы не лишать таких пользователей Mobile SMARTS возможности работать c 1С через веб-сервер, мы добавили возможность подключаться к нему от имени пользователя Windows.

Если у вас используется доменная авторизация пользователя Windows, то авторизация при входе в «1С: Предприятие» и подключении к веб-серверу будет происходить без дополнительного запроса имени пользователя и пароля.

Настройка использования доменной авторизации Windows при подключении к веб-серверу производится в несколько этапов.

Настройка проверки подлинности веб-службы IIS в Windows

Рассмотрено на примере ОС Windows 10, для других версий Windows могут быть небольшие отличия.

Открыть панель управления Windows и выбрать пункт «Программы».


Далее выбрать «Включение или отключение компонентов Windows».


В открывшемся списке найти пункт «Службы IIS», затем открыть «Службы Интернета» → «Безопасность» и поставить флаг в пункте «Проверка подлинности Windows».



Настройка авторизации пользователя в базе «1С:Предприятие 8»

В конфигураторе 1С в настройках пользователя («Администрирование» → «Пользователи» → выбрать нужного пользователя) поставьте флаг в пункте «Аутентификация операционной системы».


В настройках публикации на веб-сервере поставьте флаг на «Использовать аутентификацию операционной системы» и нажмите «Опубликовать».


Изменение настроек коннектора Mobile SMARTS к базе «1С:Предприятия»

Коннектор 1С используется только в случае работы сервера Mobile SMARTS и «1С: Предприятие» в режиме онлайн.

В настройках коннектора в панели управления Mobile SMARTS необходимо указать адрес веб-сервера и данные пользователя Windows, от имени которого будет происходить подключение к нему.

Откройте вкладку «Свойства» для коннектора «1С: Предприятия».


В строке «Сервер» укажите адрес ранее опубликованного веб-сервера.


Далее во вкладке «Прочее» укажите следующие параметры:


  • Домен — имя домена или имя текущей OС Windows (например «cleverence.local» или VM-VIN10-USR-3).
  • Пароль — пароль пользователя домена или текущей ОС, который вы будете использовать при подключении к опубликованному веб-сервису 1С.
  • Пользователь — пользователь, от имени которого вы будете подключаться к веб-сервису и 1С.
  • Тип авторизации — укажите значение «Win» (Windows).
  • Тип подключения - WebConnector.
После того как был выбран тип авторизации Win, перевведите пароль для получения токена Windows!

Сохраните все изменения.


Запустите коннектор к 1С. Если запуск прошел успешно, значит все настройки были произведены правильно.


Если попытка запуска завершится неудачей, то необходимо перепроверить все указанные настройки, или воспользоватьс функцией «Диагностика и исправление проблем».

Сценарии прокси-сервера и подсистемы балансировки нагрузки

Проверка подлинности Windows — это сценарий с отслеживанием состояния, который в основном используется в интрасети, где прокси-сервер или балансировщик нагрузки обычно не обрабатывал трафик между клиентами и серверами. Если используется прокси-сервер или балансировщик нагрузки, проверка подлинности Windows работает только в том случае, если прокси-сервер или балансировщик нагрузки:

  • Обрабатывает проверку подлинности.
  • Передает сведения о проверке подлинности пользователя в приложение (например, в заголовке запроса), которое действует на данные проверки подлинности.

Альтернативой проверки подлинности Windows в средах, где используются прокси-серверы и подсистемы балансировки нагрузки, — Active Directory Федеративные службы (ADFS) с OpenID Connect Connect (OIDC).

IIS/IIS Express

Добавьте службы проверки подлинности, вызвав AddAuthentication ( Microsoft.AspNetCore.Server.IISIntegration пространство имен) в Startup.ConfigureServices :

Параметры запуска (отладчик)

Настройка параметров запуска влияет только на Свойства и launchSettings.jsв файле для IIS Express и не НАСТРАИВАЕТ службы IIS для проверки подлинности Windows. Конфигурация сервера описывается в разделе IIS .

Новый проект

Запустите приложение. Имя пользователя отображается в пользовательском интерфейсе отображаемого приложения.

Существующий проект

Свойства проекта включают проверку подлинности Windows и отключение анонимной проверки подлинности:

  1. В обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт Свойства.
  2. Выберите вкладку Отладка.
  3. Снимите флажок включить анонимную проверку подлинности.
  4. Установите флажок включить проверку подлинности Windows.
  5. Сохраните и закройте страницу свойств.

Кроме того, свойства можно настроить в iisSettings узле launchSettings.jsв файле:

Новый проект

Существующий проект

Обновите iisSettings узел launchSettings.jsв файле:

При изменении существующего проекта убедитесь, что файл проекта содержит ссылку на пакет для пакета NuGet Microsoft. AspNetCore. app метапакет или Microsoft. AspNetCore. Authentication .

Включите службу роли IIS для проверки подлинности Windows. Дополнительные сведения см. в разделе Включение проверки подлинности Windows в службах РОЛЕЙ IIS (см. шаг 2).

Используйте один из следующих подходов:

Перед публикацией и развертыванием проекта добавьте следующий файл web.config в корневой каталог проекта:

После публикации и развертывания проекта выполните настройку на стороне сервера с помощью диспетчера IIS.

  1. В диспетчере служб IIS выберите сайт IIS в узле сайты на боковой панели подключения .
  2. Дважды щелкните Проверка подлинности в области IIS .
  3. Выберите Анонимная проверка подлинности. На боковой панели действия выберите Отключить .
  4. Выберите параметр Проверка подлинности Windows. Выберите включить на боковой панели действия .

Когда выполняются эти действия, Диспетчер IIS изменяет файл web.config приложения. <system.webServer><security><authentication> Узел добавляется с обновленными параметрами для anonymousAuthentication и windowsAuthentication :

Когда диспетчер IIS используется для добавления конфигурации IIS, он влияет только на файл web.config приложения на сервере. Последующее развертывание приложения может перезаписать параметры на сервере, если копия web.config сервера заменяется web.configным файлом проекта. Для управления параметрами используйте один из следующих подходов.

  • Используйте диспетчер IIS для сброса параметров в файле web.config после того, как файл будет перезаписан при развертывании.
  • Добавьте файлweb.config в приложение локально с параметрами.

Kestrel

Пакет NuGet Microsoft. AspNetCore. Authentication. Negotiate можно использовать с Kestrel для поддержки проверки подлинности Windows с помощью Negotiate и Kerberos в Windows, Linux и macOS.

Учетные данные могут быть сохранены в запросах к соединению. Проверка подлинности Negotiate не должна использоваться с прокси, если только прокси-сервер не поддерживает сопоставление соединения 1:1 (постоянное подключение) с Kestrel.

Добавьте службы проверки подлинности, вызвав AddAuthentication и AddNegotiate в Startup.ConfigureServices :

Добавьте по промежуточного слоя проверки подлинности, вызвав UseAuthentication в Startup.Configure :

Конфигурация среды Windows

Конфигурация среды Linux и macOS

Инструкции по присоединению компьютера Linux или macOS к домену Windows доступны в статье подключение Azure Data Studio к SQL Server с помощью проверки подлинности Windows — Kerberos . Эти инструкции создают учетную запись компьютера для компьютера Linux в домене. Имена участников-служб должны быть добавлены в эту учетную запись компьютера.

При выполнении рекомендаций, приведенных в разделе подключение Azure Data Studio к SQL Server с помощью проверки подлинности Windows — Kerberos , замените python-software-properties на python3-software-properties при необходимости.

После присоединения компьютера Linux или macOS к домену необходимо выполнить дополнительные действия, чтобы предоставить keytab- файл с именами участников-служб:

Файл keytab содержит учетные данные доступа к домену и должен быть защищен соответствующим образом.

Авторизация пользователей

Состояние конфигурации анонимного доступа определяет способ [Authorize] [AllowAnonymous] использования атрибутов и в приложении. В следующих двух разделах объясняется, как управлять состояниями запрещенных и разрешенных конфигураций анонимного доступа.

Запретить анонимный доступ

Если включена проверка подлинности Windows, а анонимный доступ отключен, [Authorize] [AllowAnonymous] атрибуты и не действуют. Если сайт IIS настроен для запрета анонимного доступа, запрос никогда не достигнет приложения. По этой причине [AllowAnonymous] атрибут неприменим.

Разрешить анонимный доступ

Олицетворение

RunImpersonated не поддерживает асинхронные операции и не следует использовать для сложных сценариев. Например, не поддерживается или не рекомендуется заключать в оболочку все запросы или цепочки промежуточного слоя.

Хотя пакет Microsoft. AspNetCore. Authentication. Negotiate включает проверку подлинности в Windows, Linux и macOS, олицетворение поддерживается только в Windows.

Хотите узнать, как настроить аутентификацию NTLM на сервере IIS? В этом учебнике мы собираемся настроить аутентификацию NTLM на сервере IIS.

• Windows 2012 R2
• Windows 2016
• Windows 2019

В нашем примере имя сервера IIS — TECH-DC01.

Проверка подлинности NTLM теперь называется аутентификацией WINDOWS.

Список оборудования

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

Как Amazon Associate, я зарабатываю от квалификационных покупок.

Windows Учебник:

На этой странице мы предлагаем быстрый доступ к списку учебников для Windows.

Учебник IIS - проверка подлинности NTLM

На менеджере сервера включите функцию безопасности IIS под названием: Аутентификация Windows.

IIS - NTLM authentication feature

Запустите приложение под названием: IIS Manager.

Start IIS Windows

В приложении IIS Manager доступ к веб-сайту и выберите каталог, который вы хотите защитить.

В правой части экрана доступ к опции под названием: Аутентификация.

IIS - Configure Authentication

Отключите анонимную аутентификацию в выбранном каталоге.

IIS - Disable the anonymous authentication

Включите аутентификацию Windows в выбранном каталоге.

IIS - Enable NTLM authentication

Дополнительно используйте командную строку для проверки подлинности NTLM.

В нашем примере мы настроили сервер IIS для использования типа аутентификации NTLM.

В нашем примере мы настроили сервер IIS, чтобы требовать проверки подлинности для доступа к каталогу.

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

В нашем примере мы создали локаную учетную запись пользователя под названием GOHAN.

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

В нашем примере в браузер был введен следующий URL::

Сервер IIS потребует от вас выполнить проверку подлинности пользователя.

IIS - Basic authentication configuration

Поздравляю! Вы настроили проверку подлинности NTLM на сервере IIS.

Учебник IIS - NTLM Единый знак проверки подлинности

Чтобы обеспечить прозрачную аутентификацию NTLM, необходимо создать запись SPN для вашего веб-сайта.

Как администратор домена, создайте запись SPN для вашего веб-сайта.

Измените название веб-сайта и сервера.

Поздравляю! Вы настроили проверку подлинности NTLM без формы аутентификации на сервере IIS.

Настройка аутентификации Windows при расположении веб-сервера IIS и рабочих серверов на разных машинах

Не работает аутентификация операционной системы (windows) через IIS при использовании тонкого клиента или веб-клиента.

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


Проблема может заключаться в том, что методы операционной системы в силу различных причин возвращают описание текущего пользователя сеанса в таком представлении, которое не совпадает ни с одним пользователем в списке пользователей информационной базы 1С

Решение проблемы

На сервере 1С включить технологический журнал, используя следующую настройку:

Воспроизвести ситуацию с неудачной аутентификацией операционной системы. Авторизоваться под пользователем операционной системы, указанным в свойствах пользователя 1С.


Открыть технологический журнал рабочего процесса и найти событие EXCP со следующим описанием: "Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя"

Обратите внимание на предшествующее ему событие CONN и значение свойства DstUserName2 - именно в таком виде пользователь должен быть указан в свойствах пользователя информационной базы.

Заменить значение свойства "Пользователь" пользователя информационной базы согласно следующему формату "\\" + [Имя пользователя из свойства DstUserName2 без скобок].

Проверить работоспособность аутентификации средствами операционной системы, войдя в информационную базу, используя веб-клиент.

Расположение веб-сервера IIS и рабочих серверов 1С на разных машинах

В некоторых случаях, несмотря на корректно указанного пользователя операционной системы в пользователе информационной базы, при попытке входа в опубликованную базу через браузер аутентификация операционной системы не проходит. Такая ситуация может возникать, если веб-сервер IIS и сервер 1с находятся на разных машинах. В таком случае в технологическом журнале рабочего процесса можно наблюдать следующую картину:

При возникновении такой ситуации необходимо проверить следующие настройки:

1) Убедиться, что процессы сервера 1С запущены от имени доменной учетной записи, входящей в группу Domain Users.

2) Убедиться, что веб-сервер IIS настроен корректно.

В публикации информационной базы найти настройки аутентификации

В настройках аутентификации отключить анонимную аутентификацию и включить Windows-аутентификацию. В Windows-аутентификации упорядочить доступных провайдеров так, чтобы на первом месте был Negotiate.


Пул приложений публикации не нуждается в настройках, в нем можно оставить все по умолчанию.

После изменения настроек перезапустить веб-сервер с помощью команды iisreset в командной строке.

3) Убедиться, что в контроллере домена в свойствах компьютера, на котором запущен веб-сервер, на вкладке делегирование установлено "Доверять компьютеру делегирование любых служб (только Kerberos)"

Для этого откройте оснастку Active Directory Users and Computers (dsa.msc), в компьютерах найдите веб-сервер, перейдите в его свойства и на вкладке Делегирование установить значение "Доверять компьютеру делегирование любых служб (только Kerberos)" и нажать применить.


4) Убедиться, что на клиенте в свойствах обозревателя разрешена встроенная проверка подлинности Windows.


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

Важно: аутентификации Windows при расположении веб-сервера IIS и рабочих серверов на разных машинах в тонком клиенте работает, начиная с версии 8.3.10.2620 (для тестирования).

Читайте также: