Использование конфигурации-прокладки для управления входом в заданную базу данных

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

При большом количестве пользователей, работающих через удаленный доступ, находящихся в разных городах в одной централизованной базе данных, обновление конфигурации (не динамическое!) представляет определенную сложность. Даже после установки блокировки и «выхода» всех пользователей конфигурация блокируется для изменения, когда, несмотря на предупреждение о блокировке, нет-нет, да кто-то и пытается войти в базу и попробовать в ней поработать («нет-нет» = до нескольких десятков попыток в минуту). Чаще всего заканчивалось терпение и сисадмин по просьбе закрывал удаленный доступ на сервер до конца обновления конфигурации.

Предлагаемое решение позволяет заблокировать вход через конфигурацию-прокладку до входа в рабочую базу.

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

Запуск предельно прост.

0. До начала рабочего дня переименовать каталог рабочей базы.

1. Подготовить файлы шаблонов, как минимум два: один с сообщением (первая строка содержит 0, вторая — текст сообщения), второй — с командной строкой запуска рабочей базы в новом каталоге (1 или 2 в первой строке, командная строка во второй). Примерные файлы прилагаются.

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

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

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

База на технологическом обслуживании

Протестировано перенаправление входа более чем ста пользователей.

Плюсы:

1. Блокировка производится до входа в рабочую базу на уровне конфигурации-прокладки.

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

3. В предлагаемых шаблонах прописан прямой запуск рабочей базы (не через /ibName), то есть база запустится даже если ее нет в списке баз у пользователя (тут как бы минус — если нового пути к рабочей базе у пользователя нет, то в окне входа будет надпись «Информационная база»). Но в остальном полная свобода, содержимое командной строки в конфигурационном файле зависит только от фантазии автора.

4. При изменении конфигурации-прокладки достаточно подменить 1CD-файл на лету обычной перезаписью «поверх».

Минусы:

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

2. Также при первом входе слетят все настройки, которые были сохранены во временных файлах (настройки панелей инструментов и т.п.).

3. Ну и третий минус — еще не придумал, как защитить конфигурацию от дотошного пользователя, который войдет в конфигуратор конфигурации-прокладки — для простоты в ней нет пользователей вообще (пока, правда, за несколько дней эксплуатации никому в голову это не приходило, но вдруг).

Идея: Петр Козлов, реализация — ваш покорный слуга…

2 Comments

  1. TMV

    (0), Это работает только для файловой базы? Если да, то разве шага 0 не достаточно? Переименовал каталог — обновил — переименовал обратно.

    Видимо мной упущен истинный смысл.

    Reply
  2. cargobird

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

    Для перенаправления это годится для любой базы, хоть файловой, хоть SQL.

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *