К статье
Практический материал

Администрирование · 10 мин

Как отключить OpenID в 1С

Как отключить OpenID-аутентификацию в 1С:Предприятии: настройка в конфигураторе, правка файлов default.vrd и web-сервера, проверка результата и типичные ошибки.

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

Отключение OpenID выполняется на двух уровнях: в свойствах информационной базы в конфигураторе и в файлах публикации на веб-сервере. В зависимости от того, где именно включён механизм, достаточно одного действия или потребуется их комбинация. Ниже разобраны все типовые сценарии — от простого снятия флажка до ручной правки файла default.vrd.

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

Что такое OpenID в 1С и когда его нужно отключать

OpenID в контексте 1С — это механизм сквозной аутентификации: одна информационная база выступает провайдером удостоверений, а остальные базы доверяют ей и не запрашивают пароль повторно. Настройка выполняется через параметры информационной базы, а при публикации на веб-сервере соответствующие директивы записываются в файл default.vrd.

На практике отключать OpenID приходится в нескольких типичных ситуациях. Первая — после переноса базы на другой сервер или смены доменного имени: старый адрес провайдера OpenID становится недоступен, и пользователи веб-клиента получают ошибку аутентификации вместо окна входа. Вторая — когда OpenID включился непреднамеренно при публикации через диалог публикации на веб-сервере, где по умолчанию мог быть отмечен соответствующий пункт. Третья — переход на другую схему аутентификации, например на доменную (NTLM/Kerberos) или на стандартный ввод логина и пароля.

Проверьте, где именно включён OpenID

Прежде чем что-то менять, определите, на каком уровне активирован механизм. OpenID может быть включён в свойствах информационной базы (хранится внутри базы), в файле публикации default.vrd на веб-сервере, или в обоих местах одновременно. Признак проблемы обычно виден сразу: при открытии веб-клиента появляется сообщение об ошибке OpenID-аутентификации, бесконечное перенаправление на страницу входа или требование войти через адрес, который больше не существует.

Откройте конфигуратор под пользователем с административными правами и пройдите в меню «Администрирование» → «Параметры информационной базы». Если там задан адрес провайдера OpenID или включено использование OpenID, значит, настройка хранится в самой базе. Параллельно найдите каталог публикации на веб-сервере (для IIS это обычно подкаталог внутри wwwroot или отдельная папка, указанная при публикации) и откройте файл default.vrd в текстовом редакторе — наличие в нём блока с элементом openid подтверждает настройку на уровне публикации.

Ошибка OpenID при входе в веб-клиентПровайдер недоступен или адрес устарел

Проверить параметры ИБ в конфигураторе и файл default.vrd

Перенаправление на чужой адрес при входеБаза настроена как зависимая от провайдера

Найти URL провайдера в параметрах информационной базы

Тонкий клиент работает, веб-клиент — нетOpenID задан только в публикации

Открыть default.vrd и искать элемент openid

Отключение OpenID через конфигуратор

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

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

Отключение через конфигуратор
  1. 1
    Откройте конфигуратор под администратором
  2. 2
    Перейдите: Администрирование → Параметры информационной базы
  3. 3
    Очистите адрес провайдера OpenID и снимите связанные флажки
  4. 4
    Сохраните параметры и закройте окно
  5. 5
    Проверьте вход через веб-клиент в отдельном браузере

Если база сама выступала провайдером OpenID для других баз, простое отключение на её стороне сломает вход во все зависимые базы. Сначала отключите OpenID в каждой зависимой базе, и только потом снимайте роль провайдера. Это самая частая причина массовых жалоб после «простого отключения».

Отключение OpenID в файле default.vrd на веб-сервере

Если OpenID прописан только в публикации, править нужно файл default.vrd. Он находится в каталоге публикации информационной базы на веб-сервере. Остановите доступ пользователей или выберите период низкой нагрузки, откройте файл в текстовом редакторе с правами администратора и найдите элемент, содержащий настройки OpenID, — обычно это вложенный блок внутри описания точки подключения.

Удалите элемент openid целиком вместе с его атрибутами, сохраните файл и перезапустите веб-сервер: для IIS выполните iisreset в командной строке от имени администратора, для Apache — перезапуск службы. После перезапуска веб-сервер перечитает публикацию, и вход пойдёт по стандартной схеме с запросом имени пользователя и пароля 1С.

xml

<point name="MyBase" ...>
  <openid url="http://old-server/base/ws/OpenID.1cws"/>
</point>

Альтернатива ручной правке — повторная публикация базы из конфигуратора («Администрирование» → «Публикация на веб-сервере») с отключёнными опциями OpenID. При повторной публикации файл default.vrd перезаписывается, поэтому все ручные правки в нём будут потеряны — учитывайте это, если в файле есть другие нестандартные настройки.

Отключение OpenID в клиент-серверном варианте и на кластере

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

Учтите, что веб-сервер и кластер — независимые уровни. Если OpenID включён и в свойствах базы кластера, и в default.vrd, отключение только в одном месте не решит проблему: пользователи продолжат получать ошибку или перенаправление. Проверяйте оба уровня последовательно и фиксируйте, что именно меняли, чтобы при необходимости откатить изменения.

Проверка результата и типичные ошибки

После отключения OpenID проверьте вход через веб-клиент в браузере, желательно в режиме инкогнито, чтобы исключить влияние кэша и старых cookie. Нормальный результат — стандартная форма ввода имени пользователя и пароля 1С без перенаправлений на сторонние адреса. Дополнительно проверьте вход через тонкий клиент и, если используются, веб-сервисы — они не должны требовать OpenID-удостоверения.

К типичным ошибкам относятся: правка default.vrd без перезапуска веб-сервера (изменения не подхватываются), отключение провайдера раньше зависимых баз, а также очистка настроек только в конфигураторе при активном блоке openid в публикации. Отдельная ловушка — кэш браузера: страница ошибки может сохраниться, и после корректного отключения пользователь всё ещё видит старую ошибку. В таком случае достаточно очистить кэш или открыть адрес в другом браузере.

Типичные ошибки
01
Удалили openid из default.vrd, но не перезапустили веб-сервер — настройки не применились
02
Отключили провайдера OpenID раньше зависимых баз — пользователи потеряли доступ
03
Проверяли результат в том же браузере с кэшем — увидели старую ошибку и решили, что не сработало
04
Перепубликовали базу и потеряли ручные настройки default.vrd
Контрольные точки

Как проверить результат

Вход через веб-клиент в режиме инкогнито
Норма

Открывается стандартная форма логина и пароля

Тревожный признак

Перенаправление на сторонний адрес или ошибка OpenID

Содержимое default.vrd
Норма

Элемент openid отсутствует

Тревожный признак

Блок openid остался или файл содержит синтаксическую ошибку

Вход в зависимые базы
Норма

Все базы запрашивают обычные учётные данные

Тревожный признак

Часть баз недоступна после отключения провайдера

Итог

Что важно запомнить

OpenID в 1С отключается в параметрах информационной базы в конфигураторе и/или удалением элемента openid из default.vrd с последующим перезапуском веб-сервера. Сначала отключайте зависимые базы, затем провайдера, а результат проверяйте в чистом браузере.

Частые вопросы

Можно ли отключить OpenID без доступа к конфигуратору?

Да, если OpenID включён только на уровне публикации: достаточно удалить элемент openid из файла default.vrd на веб-сервере и перезапустить службу веб-сервера. Если настройка хранится в самой базе, без конфигуратора или консоли кластера обойтись не получится.

Почему после отключения OpenID веб-клиент всё равно показывает ошибку?

Чаще всего виноваты кэш браузера и старые cookie — откройте базу в режиме инкогнито. Второй вариант: веб-сервер не был перезапущен после правки default.vrd, и старые настройки продолжают действовать.

Что будет с пользователями после отключения OpenID?

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

Отличается ли отключение для IIS и Apache?

Сам файл default.vrd одинаков, различия только в перезапуске: для IIS выполняется команда iisreset от имени администратора, для Apache — перезапуск соответствующей службы операционной системы.

Как отключить OpenID, если база-провайдер уже удалена?

Откройте зависимую базу в конфигураторе и очистите адрес провайдера в параметрах информационной базы, затем проверьте и при необходимости удалите блок openid из default.vrd. Если вход в конфигуратор невозможен, используйте консоль кластера серверов 1С для правки свойств базы.