1с не работает авторизация windows

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


Описание проблемы

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

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

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

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

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

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

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

04:45.940011-0,CONN,2,process=rphost,t:clientID=60,Txt=Srvr: SrcUserName1: svc-1c@DOMAIN701.COM
04:45.940012-0,CONN,2,process=rphost,t:clientID=60,Txt=Srvr: DstUserName1: testuser2@DOMAIN701.COM(DOMAIN701.COM\testuser2)
04:45.971001-0,CONN,2,process=rphost,t:clientID=60,Txt=Srvr: DstUserName2: DOMAIN701\testuser2(DOMAIN701\testuser2)
04:46.205021-0,EXCP,2,process=rphost,p:processName=trade,t:clientID=60,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=19,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr=’src\VResourceInfoBaseServerImpl.cpp(991):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя’

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

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

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

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

56:39.487001-0,CONN,2,process=rphost,p:processName=accounting,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=16,Txt=Srvr: SrcUserName1: winserver1c$@DOMAIN701.COM
56:39.487002-0,CONN,2,process=rphost,p:processName=accounting,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=16,Txt=Srvr: DstUserName1: testuser2@DOMAIN701.COM(DOMAIN701.COM\testuser2)
56:39.596004-0,CONN,2,process=rphost,p:processName=accounting,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=16,Txt=Srvr: DstUserName2: NT AUTHORITY\ANONYMOUS LOGON(NT AUTHORITY\ANONYMOUS LOGON )
56:39.659003-0,EXCP,2,process=rphost,p:processName=accounting,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=16,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr=’src\VResourceInfoBaseServerImpl.cpp(991):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя’

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

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 (для тестирования).

Источник

доменная авторизация IIS и 1c на разных серверах

собственно проблема старая, и у многих возникшая.

есть 2 физических сервера (на обоих установлен сервер 1с, один сервер продакт второй для разработки)

на serv-2 поднята IIS и настроена сквозная доменная авторизация, которая замечательно работает с сервером 1с на serv-2, но вот на сервер 1с который стоит на serv-1 доходит запрос на подключение без указания домена.

на сколько я понимаю проблема в длинном доменном имени, которое 1с (точнее ее длл которая прикручена к IIS) не может скушать. Вроде для 1с нужно нетбиос имя домена.

Может кто подскажет где поправить? То-есть нужна настройка которая для IIS явным образом указывает соответствие длинных имен доменов к коротким.

>а в имперсонализации.

с этим борются через trust computer for delegation

(4) при чем тут делегирование билета?

обьясните на пальцах чего надо сделать/попробовать или теорию

Есть старая темя на партнерке, но там некоторые пишут, что им не помогло. https://partners.v8.1c.ru/forum/message/890925
«Windows Server 2008, в отличии от Win2003, не позволяет использовать многократную передачу «билета» NTLM при использовании многозвенной архитектуры. Для решения проблемы попробуйте выполнить следующие настройки:

На клиентской рабочей станции настройте Internet Explorer таким образом, чтобы он использовал аутентификацию Windows, а также добавьте адрес сайта в зону локальной сети, поскольку для зоны Internet браузер не использует аутентификацию Windows. Для этого:
— Запустите браузер Internet Explorer. В строке меню выберите пункт «Tools» и выберите команду «Internet Options». Перейдите на вкладку «Advanced» установите флажок напротив пункта «Enable Integrated Windows Authentication».
— Перейдите на вкладку «Security» выберите зону для изменения «Local intranet», нажмите кнопку «Sites» укажите имя web-сервера, нажмите «Add».

Настройте Active Directory для делегирования полномочий Kerberos (необходимы права администратора домена). Для этого:
— Разрешите делегирование web-серверу. На контроллере домена откройте оснастку «Active directory users and computers», в группе «Computers» выберите компьютер являющийся web-сервером, откройте его свойства. Если функциональный уровень домена «Windows Server 2003», то выберите вкладку «Delegation» и установите флажок «Trust this computer for delegation to any services (Kerberos only)», если функциональный уровень домена «Windows 2000», то на вкладке «General» установите флажок «Trust this computer for delegation».
— Разрешите делегирование пользователю. На контроллере домена откройте оснастку «Active directory users and computers», в группе «Users» выберите пользователя, откройте его свойства. На вкладке «Delegation» установите флажок «Trust this user for delegation to any services (Kerberos only)» и убедитесь, что на вкладке «Account» в разделе «Account options» снят флажок для пункта «Account is sensitive and cannot be delegated».»

Читайте также:  Ga 970a ud3 драйвера windows 10

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

билет кербероса хранится в связке с этой сесией.

далее IIS вызывает DLL 1с, скорее всего в DLL вполне удачно передается билет кербероса.

далее DLL дает запрос на сервер 1с, при этом серверу 1с билет не достается, а достается текстовое поле «домен\пользователь» + его пароль
———————————————————

все тоже самое только DLL передает серверу 1с поле «пользователь» + его пароль (это я точно знаю так как парсил трафик), по сколько домена нет сервер не знает где его авторизовать.

—————————————————
я тут вижу 2 проблемных места
1. возможно в первом варианте сервер 1с как-то умеет авторизовать юзера даже без передачи ей имени домена

2. возможно в первом случае в 1с приходит имя домена а во втором нет

Источник

Идентификация пользователя не выполнена в 1С

Сотрудники, имеющие персональные учетные записи, могут столкнуться с ошибкой при входе в 1С: «Идентификация пользователя не выполнена». Варианты ее устранения зависят от причин возникновения. Рассмотрим их в статье.

Процесс идентификации

В программу 1С:Предприятие встроен механизм, выполняющий идентификацию пользователей при входе. Идентификация — это процедура «распознавания» персоны, пытающейся получить доступ к информационной базе, с помощью проверки соответствия данных, вводимых при входе, с параметрами, сохраненными в системе. В качестве параметров выступают логин и пароль.

Логин — имя, присвоенное пользователю в 1С, пароль — любая произвольная комбинация символов. Разграничивать полномочия сотрудников в программе с помощью учетных записей — распространенная практика, позволяющая:

Аутентификация пользователей в 1С

Аутентификации в 1С — это процедура сравнения логина и пароля, введенных пользователем, с теми, что хранятся в базе. В процессе аутентификации программа опознает пользователя либо выдает сообщение «Идентификация пользователя не выполнена».

Чтобы программа 1С при входе в систему проводила проверку пользователей, в индивидуальных настройках на вкладке Главное выберите вариант аутентификации:

Причины ошибки идентификации

Проблемы с ошибкой «Идентификация пользователя не выполнена» при входе в программу 1С у пользователей возникают, если:

Неверное имя пользователя

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

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

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

Если логин отсутствует в перечне, то могут быть следующие варианты:

Неверный пароль

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

Например, FghtH и Fghth — это разные пароли. Поэтому при входе требуется внимательность и точный ввод всех символов. Если ошибка «Идентификация пользователя не выполнена» повторяется, проверьте, что на клавиатуре не включен индикатор клавиши Caps Lock, он имеет значение только для букв, на числа и символы не влияет.

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

Длительный перерыв

Если работа 1С организована в клиент-серверном варианте, то при большом перерыве между текущей и предыдущей авторизациями (например, после отпуска) пользователь может столкнуться с ошибкой «Идентификация пользователя не выполнена» из-за устаревшего кэша программы 1С. Очистка временных файлов кэша такая же, как при появлении сообщения «Поле объекта не обнаружено». А также рекомендуется перезагрузить сервер.

Файл базы данных поврежден

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

Для решения проблемы:

Когда ошибка «Идентификация пользователя не выполнена» возникает при открытии конфигуратора, исправление ошибок в базе проводится через утилиту 1С chdbfl.exe. Она устанавливается вместе с платформой 1С, расположена в папке bin рабочего каталога программы.

Перед началом проверки скопируйте файл 1Сv8.1CD из каталога БД в любое другое место, чтобы сохранить первоначальный вариант базы.

Запустите утилиту chdbfl.exe из папки bin. В поле Имя файла БД укажите путь до файла поврежденной базы 1Сv8.1CD, он прописан в нижней части окна запуска 1С.

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

См. также:

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

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

Карточка публикации

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Вы можете задать еще вопросов

Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8.
Оформить заявку от имени Юр. или Физ. лица вы можете здесь >>

Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>

Источник

1C, SQL Server, режимы аутентификации

Проверялось на: Win 2000 Server, SQL Server 2000, 1C 18 релиз

Данная статья является дополнением к статье «Первые шаги«, в которой было рассказано как по шагам произвести установку 1С, SQL Server, а также как произвести конвертацию вашей DBF базы. В этой статье будут подробно рассмотрены варианты подключения к SQL Server, вопросы безопасности, а также способ, позволяющий подключаться 1С в режиме авторизации Windows.

Читайте также:  Mediatek 2870 driver для windows

Смешанный режим подключения (Mixed Mode, SQL Server and Windows NT / 2000).

В этом режиме возможна авторизация как средствами SQL Server, так и средствами Windows NT / 2000. Рассмотрим вариант авторизации SQL Server (режим авторизации Windows будет рассмотрен далее).

В этом режиме авторизация пользователей производится самим SQL Server. Вся информация о пользователях хранится в системной базе Master. Для каждого пользователя указывается имя учетной записи, уникальный идентификатор SQL Server, пароль и другая информация.

Авторизация SQL Server применяется в основном клиентами, для которых недоступна регистрация в домене Windows NT. Например, пользователям Novell NetWare, Unix и т.д. При подключении к SQL Server через Internet регистрация в домене не выполняется, поэтому в данном случае также необходимо использовать авторизацию SQL Server.

Дополнительно к материалу книги хотел бы отметить еще один важный момент. 1С при подключении к SQL Server может использовать только один логин. Права данного логина (или пользователя) должны позволять 1С производить любые действия с базой данной. Такими правами по умолчанию владеют системные администраторы, а также владельцы базы данных. Чтобы уменьшить риск разрушения данных в других базах, стоит выбирать в качестве такого логина именно владельца базы данных. Если, по причине нарушения безопасности, с базой данных 1С что-то и случится, то это не коснется остальных баз данных, которые управляются данным сервером. Как назначить базе владельца базе данных рассказано вэтой статье.

Режим подключения Windows (Windows Authentication Mode, Windows NT / 2000 only)

При авторизации Windows подлинность пользователя проверяется операционной системой. Пользователь автоматически получает права доступа к данным SQL Server сразу же после регистрации в домене. Такой метод предоставления доступа называется установлением доверительного соединения.

Важно! Доверительное соединение в SQL Server 2000 поддерживается только при наличии сетевых библиотек Multiprotocol и Named Pipes.

Операционная система работает с учетными записями (logins), которые содержат все данные о пользователе. Каждая такая запись имеет уникальный идентификатор (login ID) или, как его называют по-другому, идентификатор безопасности (SID, Security Identification), с помощью которого пользователь регистрируется в сети.

Аутентификация Windows NT предусматривает сохранение в системной базе данных Master в SQL Server 2000, только идентификационного номера учетной записи. Остальная информация хранится в базе данных домена. Изменение имени пользователя или его пароля никак не отразится на правах доступа к SQL Server.

Информация об учетной записи считывается SQL Server только при регистрации. Поэтому изменения, которые администратор произвел с ней, отразятся только во время очередной регистрации.

Авторизация Windows NT дает определенные преимущества. На пользователях автоматически отражаются все правила политики безопасности, установленные в домене. Также этот режим упрощает управление правами доступа при наличии нескольких серверов SQL Server. При выполнении запросов на несколько серверов не нужно производить отображение логинов SQL Server.

При авторизации Windows NT следует следить за доверительными отношениями. Если пользователь одного домена подключается к SQL Server в другом домене, то между этими доменами должны быть настроены доверительные отношения.

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

На этом завершим рассмотрение режимов авторизации.

Вместо символов %s подставляются имя сервера, пользователь и пароль. Но для подключения в режиме авторизации Windows необходима строка подключения:

DRIVER=SQL Server;SERVER=%s;UID=;PWD=; DATABASE=master;APP=1CV7;UseProcForPrepare=0

Важно чтобы длина строки оставалась прежней и чтобы она начиналась в файле с того же смещения. Для этого перед словом DATABASE добавляем 4 пробела. Вуаля!

Но это еще не все. Данную строку можно переписать по-другому:

Обычным образом (то есть без использования хакерских методов) 1С может подключаться в режиме аворизации Windwos только (а может и не только) по протоколу Named Pipes. В этом случае система просто игнорирует имя пользователя и пароль, передаваемые при соединении. Почему это не делается в случае протокола TCP/IP для меня является загадкой. Чтобы такое подключение было возможно желательно, чтобы на сервере был установлен только протокол Named Pipes, либо чтобы он стоял первым в списке в утилитах SQL Server по настройке сетевых протоколов на клиенете и сервере. Если вам это не поможет (так, например, случилось со мной), то нужно просто создать алиас (в SQL Server 2000) с помощью утилиты Client Network Utility, указав что соединение будет производится по протоколу Named Pipes. После этого имя алиаса можно использовать в качестве имени SQL Server и без проблем работать по протоколу Named Pipes. Но. Есть большое «Но» в этом варианте. Использование протокола Named Pipes не рекомендуется по причине его низкой производительности. За мой срок работы с SQL Server я слышал разные комментарии по этому поводу большая часть из них подтверждала это, хотя были и противоположные замечания, в которых указывалось, что использование Named Pipes не снижает производительность работы с SQL Server. Хорошо бы найти четкие экспериментальные подтверждения этому и желательно авторитетные, для меня пока это лишь теоретические предположения.

Под конец хочу дать вам ссылку на еще одну интересную методику. Здесь вы найдете более красивое решение проблемы безопасности, которое не использует хак 1С (в прямом его смысле). Кроме того, этот метод позволяет более гибко настроить ограничения доступа к данным, причем так, что 1С при этом не будет «падать» (если вы будет пользоваться обычной методикой ограничения прав доступа, то 1С при попытке доступа будет «вываливаться» с сообщением об ошибке доступа к данным).

Источник

Виды аутентификации

6.2.8.1. Общая информация

Аутентификация ‑ проверка принадлежности предъявленного идентификатора (имени) конкретному пользователю системы, проверка подлинности. Система «1С:Предприятие» поддерживает несколько различных вариантов аутентификации, которые будут рассмотрены в следующих разделах.

6.2.8.2. Аутентификация средствами системы «1С:Предприятие»

Пользователь может быть аутентифицирован системой «1С:Предприятие» с помощью ввода его имени и пароля (в диалоге аутентификации, в виде параметров командной строки или строки соединения с информационной базой для внешнего соединения или automation-сервера). В этом случае проверка наличия пользователя и корректности ввода его пароля выполняет система «1С:Предприятие».

6.2.8.3. Аутентификация операционной системы

Пользователь может быть аутентифицирован неявно средствами операционной системы. Для этого пользователю должен быть поставлен в соответствие некоторый пользователь операционной системы. При старте системы, «1С:Предприятие» запрашивает у операционной системы пользователя, который аутентифицирован в системе в данный момент. Для этого в ОС Windows используется интерфейс SSPI, а в ОС Linux ‑ GSS-API. Затем выполняется проверка, что данному пользователю операционной системы сопоставлен пользователь «1С:Предприятия». Если поиск заканчивается успешно ‑ считается, что пользователь системы «1С:Предприятие» аутентифицирован успешно, и диалог аутентификации не отображается.

Читайте также:  Realtek audio драйвер для windows 10

ПРИМЕЧАНИЕ 1. Клиентское приложение для ОС Linux или macOS не поддерживает аутентификацию средствами операционной системы.

ПРИМЕЧАНИЕ 2. Не поддерживается аутентификация пользователя средствами операционной системы в том случае, если клиентское приложение подключается к информационной базе через веб-сервер Apache, работающий под управлением ОС Windows.

ПРИМЕЧАНИЕ 3. При работе под управлением ОС Windows, для обеспечения стабильной работы аутентификации ОС при подключении тонким клиентом через веб-сервер или с помощью веб-клиента, необходимо внести адрес используемой информационной базы в список надежных сайтов свойств веб-браузера (Панель управления ‑ Сеть и интернет ‑ Свойства браузера ‑ Безопасность).

Пользователь операционной системы указывается в формате: \\имя_домена\имя_пользователя. При этом имя пользователя не должно содержать символы алфавитов, отличных от латинского алфавита. Формат имени домена и имени пользователя может зависеть от настроек контроллера домена и учетных записей в нем. Определить правильное написание пользователя операционной системы можно по его представлению в событии CONN технологического журнала в свойстве Txt, которое начинается с текста Srvr: DstUserName2:. Например, событие 30:30.551013-0,CONN,2,process=rmngr,OSThread=24204,t:clientID=3,Txt=Srvr: DstUserName2: d1.d2\user1(d1.d2\user1) значит, что в качестве имени пользователя операционной системы в описании пользователя информационной базы должно быть указано \\d1.d2\user1.

Если необходимо принудительно выполнить аутентификацию средствами системы «1С:Предприятие», то в командной строке запуска клиентского приложения следует указать параметр командной строки /WA-. Соответственно, параметр командной строки /WA+ предназначен для принудительного применения аутентификации средствами операционной системы (действует по умолчанию).

● Технологический журнал (см. здесь).

6.2.8.4. Аутентификация с помощью OpenID

OpenID (http://openid.net/) ‑ это протокол, который позволяет пользователю использовать единую учетную запись для аутентификации на множестве не связанных друг с другом ресурсов, систем и т. д. Система «1С:Предприятие» использует протокол, созданный на основе протокола OpenID версии 2.0 по модели Direct Identity.

ПРИМЕЧАНИЕ. Данный способ аутентификации не применим при обращении к веб-сервисам, опубликованным из «1С:Предприятия».

Общая схема работы выглядит следующим образом:

● Пользователь пытается выполнить вход в систему.

● Система определяет, что в информационной базе работает OpenID-аутентификация (по файлу публикации default.vrd).

● Провайдеру OpenID отправляется запрос на выполнение аутентификации. Очевидно, что OpenID-провайдер должен быть доступен для обращения с того адреса, на котором опубликована информационная база.

● Если необходимо выполнить интерактивное действие (выполняется первая аутентификация для данного идентификатора или истекло время жизни аутентификационных данных данного идентификатора), то провайдер сообщает системе о необходимости запросить имя и пароль пользователя. Система выполняет интерактивное действие и возвращает провайдеру OpenID запрошенные данные.

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

● Если провайдер аутентифицирует пользователя, то системе возвращается признак того, что пользователь аутентифицирован.

OpenID-аутентификация работает только в тех случаях, когда доступ к информационной базе осуществляется по протоколу HTTP и HTTPS. Это означает, что использовать OpenID-аутентификацию могут только веб-клиент, мобильный клиент, а также тонкий клиент, подключенный к информационной базе через веб-сервер. При OpenID-аутентификации возможны кросс-доменные запросы при работе с помощью тонкого клиента, а также с помощью веб-браузеров Mozilla Firefox, Google Chrome, Safari и Microsoft Internet Explorer версий 8 и 9. В веб-браузере Microsoft Internet Explorer версий 6.0 и 7, после ввода имени пользователя и пароля, открывается окно сообщения с запросом подтверждения на выполнение операции. Если пользователь подтверждает выполнение операции ‑ процесс аутентификации продолжается. В противном случае вновь предлагается ввести имя пользователя и пароль.

В качестве OpenID-провайдера может выступать как информационная база «1С:Предприятия», опубликованная на веб-сервере специальным образом, а также произвольная информационная система, которая реализует работу по протоколу OpenID Authentication 2.0 и расширение этого протокола, реализованное в платформе «1С:Предприятие». Адрес используемого OpenID-провайдера следует указать в файле default.vrd (элемент ) при публикации информационной базы, выступающей клиентом OpenID-провайдера.

Важно понимать, что «ключевым» полем, по которому обеспечивается сопоставление пользователя информационной базы «1С:Предприятия» и базы пользователей OpenID-провайдера, выступает значение, указанное в свойстве Имя пользователя информационной базы. Другими словами пользователь сможет войти в информационную базу в том случае, если в информационной базе, в свойстве Имя будет указан идентификатор, возвращаемый OpenID-провайдером. Описание возвращаемого идентификатора необходимо получать в документации к используемому OpenID-провайдеру.

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

● в текущих сеансах этот пользователь будет считаться аутентифицированным до завершения сеансов;

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

Если необходимо принудительно выполнить аутентификацию с помощью OpenID, то в командной строке запуска клиентского приложения следует указать параметр командной строки /OIDA+ (действует по умолчанию). Соответственно, параметр командной строки /OIDA‑ предназначен для принудительного отключения аутентификации с помощью OpenID.

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

● Дополнительные требования к OpenID-провайдеру (см. здесь).

6.2.8.5. Аутентификация с помощью OpenID Connect

OpenID Connect (http://openid.net/connect/) ‑ это протокол, который является расширением протокола авторизации OAuth 2.0. OpenID Connect позволяет системе «1С:Предприятие» проверить личность пользователя на основе аутентификации, выполненной сторонним провайдером. Данный протокол применим только для работы веб-клиента. Система «1С:Предприятие» не может выступать в роли провайдера OpenID Connect. Для работы используются только внешние провайдеры.

Для сопоставления пользователя «1С:Предприятия» и пользователя провайдера аутентификации используется электронная почта пользователя. Для системы «1С:Предприятие» она предоставляется провайдером OpenID Connect. Электронная почта пользователя должна быть указана в свойстве Имя пользователя информационной базы.

Описание схемы работы с использованием провайдера OpenID Connect см. здесь.

Источник

Поделиться с друзьями
admin
Советы экспертов и специалистов