Доработка сделана через расширение. Есть добавленные объекты.
Поступило требование убрать доступ к этим объектам даже у пользователей с ролью ПолныеПрава, а разрешать только отдельно назначенным.
По-умолчанию ПолныеПрава видят как саму подсистему, добавленную с расширением, так и все объекты.
Добавляем роль ПолныеПрава в расширение, снимаем там все прав на добавленные объекты.
Далее добавили эти права в основную роль расширения. Не помогло.
Убрали галочку с основной роли в настройках расширения. Саму роль удалили. Добавили другую роль (в расширении). Дали ей нужные права. Не помогло. (Не зависимо, устанавливаем ли ее основной ролью расширения или нет)
Добавили роль в основную конфигурацию. Через расширение дали ей необходимые права. Не помогло.
Итого либо мы не трогаем ПолныеПрава и все доступно, либо нам недоступно ничего (несмотря на добавленные роли с нужными доступами)
Понятное дело, отдельный профиль прав с нужными ролями создавался. По нему группа доступа, куда включили нужных пользователей.
Чистили кеши пользовательские, пускали базу с ключем /c ЗапуститьОбновлениеИнформационнойБазы.
Расширение добавлено без галочки "Использовать основные роли для всех пользователей".
В качестве альтернативы рассматриваем:
1) Копирование роли "ПолныеПрава", в копии снимать доступ с этих объектов. И всем тем, кто раньше был с полными правами, выдавать этот аналог.
2) Убрать доступ с подсистемы вообще, но дать его на объекты, что бы явным образом не высвечивалось. Нужным пользователям через ссылку открыть нужные объекты, добавить в избранное. Продублировать основные формы кодом, который лишним пользователям будет снимать видимость всего на форму (перестраховка). Но и этот способ не лучший, т.к. названия объектов специфические, могут вызвать много вопросов все-равно.
Есть идеи, почему система ведет себя подобным образом? Приходилось производить подобные настройки через расширение, но не трогали роль ПолныеПрава.
(1)Полные права на то и полные.... что бы охватить все объекты.
Можно в расширении программно ограничить полные права, и создать роль на вновь созданные объекты. По аналогии с открытием внешних обработок и отчетов. Если посмотреть внимательно то в полных правах нет возможности открыть внешние обработки.
(2) можно поподробнее про программное ограничение прав?
Пока что как раз роль "ПолныеПрава" позаимствована из основной конфигурации в расширение. Там уже в расширении у нее убраны права на добавленные объекты (которые в самом расширении и добавляются). Это все сделано без написания кода, только через палитры свойств в конфигураторе.
(6) Увы, с таким подходом все пользователи с ролью ПолныеПрава по-умолчанию будут видеть добавленные в расширении объекты. А задача как раз состоит в том, что бы видел узкий круг лиц, несмотря на обилие пользователей с полными правами.
Как итог, заказчика предварительно устроил вариант убрать видимость подсистемы. Т.е. права доступа будут, но попасть туда смогу только если заранее знать название объектов, либо через «все функции».
Увы, с таким подходом все пользователи с ролью ПолныеПрава по-умолчанию будут видеть добавленные в расширении объекты. А задача как раз состоит в том, что бы видел узкий круг лиц, несмотря на обилие пользователей с полными правами.
Это возможно только если в расширении не будет вообще никакой своей роли. В отсутствии роли в расширении проверка прав в ней не производится. Если создать свою роль и не добавлять Полные права, то на созданные в расширении объекты метаданных у полных прав не будет на них прав (тавтология получилась).
Это возможно только если в расширении не будет вообще никакой своей роли. В отсутствии роли в расширении проверка прав в ней не производится. Если создать свою роль и не добавлять Полные права, то на созданные в расширении объекты метаданных у полных прав не будет на них прав (тавтология получилась).
Что касается данного подхода. Я изначально подобно и настроил в надеждах, что все именно так и отработает. На практике вышло иначе...есть подозрение, что от версии платформы и СУБД (которая тоже в правах доступа участвует) может нечто меняться. Потом попробую на файловой базе повторить аналогичную настройку, а пока временно остановились на варианте с отключение прав на подсистему, что бы не было видно из интерфейса. Вариант не идеальный, но уж очень закопались с задачей.
п.с. никаких споров, только благодарность за предоставления вариантов. Я сюда потому и полез, т.к. все советы из других мест уже перепробовал.
Возможно уже решение найдено, но для будущих поколений:
кратко "оказалось, что если пользователь состоит в группе Администраторов (имеет полные права), то конфигурации на основе БСП (БП, УТ, УНФ, ЕРП и т.д.) очищают в Конфигураторе все установленные роли кроме "Администратор системы", "Полные права""
ссылка на оригинал:
https://infostart.ru/1c/articles/1878677/