Обмен с сайтом в привилегированном режиме. УНФ 1.6
Клиент попросил, чтобы интеграторы с сайтом имели доступ только по ограниченному набору прав, касающихся настроек интеграции с сайтом.
По умолчанию в УНФ предусмотрено, что настройкой обмена с сайтом занимаются только администраторы, поэтому пришлось повозиться.
В итоге получилось, что доступ такой интерфейс, где я вынес ссылки в избранное, чтобы не возиться с настройкой главного меню, я вообще отключил все разделы:
Раздел «Обмен с сайтом» доступен по ссылке:
e1cib/command/Обработка.ПанельАдминистрированияИнтеграцийУНФ.Команда.ОбменССайтом
Однако запуск обмена приводил к ошибкам прав доступа, постоянно разным:
В итоге я решил запускать обмен в привилегированном режиме, чтобы исключить раз и навсегда донастройку прав доступа.
Анализ стека показал, что обмен запускается в процедуре ЗапуститьВыполнениеОбмена общей формы ФормаВыполнениеОбмена:
Добавил простое расширение, отключающее контроль прав обмена для обмена с сайтом на процедуру ВыполнитьОбменССайтомНаСервере этой формы:
&НаСервере &Вместо("ВыполнитьОбменССайтомНаСервере") Функция дор_ВыполнитьОбменССайтомНаСервере(ПараметрыОбмена) //Осипов - чтобы обмен проходил привелигированно УстановитьПривилегированныйРежим(Истина); Результат = ПродолжитьВызов(ПараметрыОбмена); Возврат Результат; КонецФункции
Но увы, это работало только в режиме отладки, при запуске в фоновом задании не работало. Видимо, при передаче кода в фон терялся признак привилегированности. Пришлось искать другой модуль, который непосредственно вызывает обмен с сайтом:
В итоге сделал расширение на процедуру ВыполнитьОбмен модуля ОбменССайтом:
&Вместо("ВыполнитьОбмен") Процедура дор_ВыполнитьОбмен(УзелОбмена, РежимЗапускаОбмена, ВыгружатьТолькоИзменения, ПараметрыСоставОбмена) УстановитьПривилегированныйРежим(Истина); ПродолжитьВызов(УзелОбмена, РежимЗапускаОбмена, ВыгружатьТолькоИзменения, ПараметрыСоставОбмена); КонецПроцедуры
Всё, после этого ошибки прав доступа при обмене с сайтом перестали беспокоить интеграторов.
Если вам интересно, какие права УНФ я дал этому пользователю, вот список самодельных профилей:
Вот тут подробнее расшифровка:
Среда: 1.6.25.152 Объем: 0.5 час.
Свежие комментарии