У меня есть внешний по отношению к 1С сервис, в котором прописаны явки-пароли выделенного пользователя 1С с полными правами. Сервис отвечает за взаимодействие со внешними системами. Недавно допилил возможность людям не заходя в 1С вносить некоторые мелкие изменения в базу: исправить доп.реквизиты, переставить местами резервы и т.п.
Эти люди в общем-то есть в 1С, и для этих действий я хотел бы в историю изменений писать не специального пользователя сервиса, а конечного пользователя.
При этом необходимо оставить свободу смены пароля от 1С пользователям (т.е. не хранить их копии в своем сервисе). Аутентификация 1С - встроенная, в сервисе своя, но установить логин или UUID конечного пользователя не проблема.
Я хочу продолжать ходить в OData специальным пользователем, но некоторые действия совершать от имени обычных, неполноправных.
Кое-где такое действие называется "Impersonate user", Этакий обратный runas/sudo, когда админ временно понижается до конкретного пользователя и действует от его имени.
Авторизация на сервисе проводится от пользователя,который прописан в настройках,поменять в процессе работы пользователя нельзя,но в 1с во всех местах используется справочник пользователи,который к авторизованному пользователю хоть и сопоставляется,но позволяет во все места,кроме журнала регистрации,писать любые элементы этого справочника.
В БСП даже есть понятие текущий внешний пользователь для таких случаев.
А вот в журнале будет писаться именно тот пользователь,который авторизовался на сервере.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший