Как скрыть пользователей из списка выбора в веб-интерфейсе 1С?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

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

Решение 1: Стандартная настройка в Конфигураторе

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

Рассмотрим по шагам, как это сделать:

  1. Запустите информационную базу в режиме Конфигуратора.
  2. Перейдите в меню «Администрирование» и выберите пункт «Пользователи».
  3. Откроется список всех пользователей базы. Выберите пользователя, которого хотите скрыть, и откройте его карточку двойным щелчком мыши.
  4. В окне свойств пользователя перейдите на вкладку «Прочие».
  5. Снимите галочку «Показывать в списке выбора».
  6. Нажмите «ОК», чтобы сохранить изменения. Повторите эту операцию для всех пользователей, которых необходимо скрыть.

Важный момент: после выполнения этих действий скрытые пользователи не смогут выбрать свое имя из списка. Чтобы войти в систему, им потребуется каждый раз вручную вводить свой логин и пароль. Это касается всех видов клиентов — и веб, и тонкого, и толстого.

Для частичного решения проблемы неудобства ручного ввода можно учесть, что современные браузеры обычно кэшируют имя пользователя после первого успешного входа. Таким образом, при последующих запусках веб-клиента поле с логином, скорее всего, будет уже заполнено, и останется только ввести пароль.

Решение 2: Разделение списков пользователей на уровне веб-сервера

Что делать, если нужно, чтобы в тонком клиенте сотрудники видели полный список, а в веб-интерфейсе — только учетные записи клиентов? Стандартная настройка из первого способа этого не позволяет. Однако, если ваша база опубликована на веб-сервере Apache, можно применить более хитрый подход.

Суть метода заключается в том, чтобы перехватить запрос веб-клиента на получение списка пользователей и подменить его своим, заранее подготовленным списком. Это делается с помощью конфигурационного файла .htaccess (развернуть и настроить Apache на Windows поможет специальный скрипт).

Проанализируем шаги реализации:

  1. Найдите каталог публикации. На веб-сервере перейдите в папку, где опубликована ваша информационная база. В этой папке должен находиться файл default.vrd.
  2. Создайте файл users.txt. В этом же каталоге создайте простой текстовый файл с именем users.txt. Внутри этого файла перечислите в столбик имена (логины) только тех пользователей, которые должны быть видны в веб-интерфейсе. Например:
    
    Client_Ivanov
    Client_Petrov
    
  3. Создайте и настройте файл .htaccess. В этом же каталоге создайте файл с именем .htaccess (именно с точкой в начале). Добавьте в него специальные правила перезаписи URL, которые будут перенаправлять запрос на список пользователей к вашему файлу users.txt.

Таким образом, когда пользователь открывает веб-клиент в браузере, Apache перехватывает системный запрос 1С, вместо стандартного списка отдает содержимое файла users.txt, и клиент видит только указанных в нем пользователей. При этом пользователи, работающие через тонкий или толстый клиент, будут по-прежнему видеть полный список из конфигуратора.

Примечание: для веб-сервера IIS (Internet Information Services) существует аналогичный механизм настройки правил перезаписи URL (URL Rewrite), но его конфигурация выполняется через средства управления IIS, а не через файл .htaccess.

Решение 3: Создание собственной страницы авторизации

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

Рассмотрим основные принципы этого решения:

Главные преимущества этого подхода:

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

← На главную