Иногда возникает необходимость предоставить возможность редактирования списка пользователей информационной базы пользователю, не имеющему административных прав.
Например, старший менеджер должен иметь возможность создавать новых пользователей с ролями менеджеров или изменять состав ролей существующих пользователей, являющихся менеджерами. При этом необходимо обеспечить отсутствие у старшего менеджера административных прав на действия с информационной базой (например, загрузка/выгрузка информационной базы).
Для решения этой задачи можно воспользоваться возможностью программного доступа к списку пользователей информационной базы, которую предоставляет объект МенеджерПользователейИнформационнойБазы. Этот объект доступен через свойство глобального контекста ПользователиИнформационнойБазы.
Создание нового пользователя может быть выполнено методом СоздатьПользователя() на клиенте, даже если текущий пользователь не обладает административными правами. На клиенте же могут быть установлены необходимые свойства нового пользователя. Для того, чтобы выполнить запись нового пользователя, сформированный на клиенте объект ПользовательИнформационнойБазы нужно передать на сервер и в привилегированном модуле (без проверки прав) выполнить запись нового пользователя.
В демонстрационную конфигурацию "Примеры ИТС" включена обработка "НовыйПользователь", которая реализует описанную механику. Необходимо запустить 1С:Предприятие от имени пользователя "Менеджер" (не имеющего административных прав) и открыть обработку "Новый пользователь", которая позволит создать нового пользователя информационной базы и установить любые свойства нового пользователя, за исключением роли "Администратор".
|