Имя: Пароль:
1C
1С v8
OData совершить действие от имени другого пользователя
0 bolero
 
02.11.19
21:34
У меня есть внешний по отношению к 1С сервис, в котором прописаны явки-пароли выделенного пользователя 1С с полными правами. Сервис отвечает за взаимодействие со внешними системами. Недавно допилил возможность людям не заходя в 1С вносить некоторые мелкие изменения в базу: исправить доп.реквизиты, переставить местами резервы и т.п.
Эти люди в общем-то есть в 1С, и для этих действий я хотел бы в историю изменений писать не специального пользователя сервиса, а конечного пользователя.

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

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

Кое-где такое действие называется "Impersonate user", Этакий обратный runas/sudo, когда админ временно понижается до конкретного пользователя и действует от его имени.

Есть такие возможности в OData?
1 Сияющий в темноте
 
02.11.19
23:18
Авторизация на сервисе проводится от пользователя,который прописан в настройках,поменять в процессе работы пользователя нельзя,но в 1с во всех местах используется справочник пользователи,который к авторизованному пользователю хоть и сопоставляется,но позволяет во все места,кроме журнала регистрации,писать любые элементы этого справочника.
В БСП даже есть понятие текущий внешний пользователь для таких случаев.
А вот в журнале будет писаться именно тот пользователь,который авторизовался на сервере.