Защита ролей расширений, добавленных администраторам БСП 3

25.11.23

Администрирование - Роли и права

Решение задачи защиты добавленных администраторам ролей расширений через группу доступа БСП 3

Скачать файлы

Наименование Файл Версия Размер
Защита ролей расширений для администраторов БСП 3
.cfe 5,85Kb
45
.cfe 1.1 5,85Kb 45 Скачать бесплатно

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

 

Как БСП обновляет роли администраторов базы

БСП регулярно удаляет все лишние с ее точки зрения роли у администраторов базы даже если они назначены через группы и профили доступа. Рассмотрим логику обновления ролей администраторов в БСП 3.1.7

Администраторами считаются все элементы справочника "Пользователи", входящие в предопределенную группу доступа "Администраторы". Периодически БСП запускает процедуру УправлениеДоступомСлужебный.ОбновитьРолиПользователей() для обновления ролей пользователей базы. Она очищает все роли у администраторов базы и заполняет их списком, получаемым методом Справочники.ПрофилиГруппДоступа.ПодготовленныеСтандартныеРолиРасширенийСеанса(). Помимо предопределенных ролей он добавляет в результат только роли, имя которых кончается на следующие строки

АдминистраторСистемы
ПолныеПрава
ОбщиеПрава

Подробнее о стандартных ролях БСП можно прочитать в ИТС

Таким образом, если в расширении будет такая роль, то она будет автоматически добавляться всем администраторам. Остальные роли расширения будут удаляться у всех администраторов. А мне нужно добавить ее только выбранным администраторам. Поэтому моему расширению приходится добавлять роль прямо в пользователя базы при начале сеанса и перезапускать сеанс. Через некоторое время БСП опять удаляет эту роль и все повторяется. Это доставляет ощутимые неудобства пользователю.

 

Решение проблемы

Я направил в 1С пожелание обеспечить в БСП возможность выборочного добавления ролей администраторам.

Однако сейчас в качестве временного решения я сделал отдельное расширение конфигурации, которое обеспечивает защиту назначенных ролей расширений через членство администраторов в других группах доступа помимо предопределенной "Администраторы".

Расширение конфигурации состоит из одного расширения метода УправлениеДоступомСлужебный.ОбновитьРолиПользователейИБ():

&Перед("ОбновитьРолиПользователейИБ")
Процедура зршОбновитьРолиПользователейИБ(ОбновляемыеПользователиИБ, ПарольПользователяСервиса)
	МассивПользователей = Новый Массив;
	Для Каждого ОписаниеПользователя Из ОбновляемыеПользователиИБ Цикл
		МассивПользователей.Добавить(ОписаниеПользователя.Ключ);
	КонецЦикла;	
	НовыеРолиПользователей = ТекущиеСвойстваПользователей(МассивПользователей).РолиПользователей;
	УдалитьОбновлениеПользователей = Новый Массив;
	Для Каждого ОписаниеПользователя Из ОбновляемыеПользователиИБ Цикл
		РолиДляУдаления = ОписаниеПользователя.Значение.РолиДляУдаления;
		Отбор = Новый Структура("Пользователь", ОписаниеПользователя.Значение.ПользовательСсылка);
		НовыеРоли = НовыеРолиПользователей.Скопировать(НовыеРолиПользователей.НайтиСтроки(Отбор), "Роль, РольСсылка");
		ОтменитьУдалениеРолей = Новый Массив;
		Для Каждого КлючИЗначение Из РолиДляУдаления Цикл
			Если ТипЗнч(КлючИЗначение.Значение) = Тип("ОбъектМетаданных") Тогда
				Роль = КлючИЗначение.Значение;
			Иначе
				Роль = Метаданные.Роли[КлючИЗначение.Ключ];
			КонецЕсли;
			Расширение = Роль.РасширениеКонфигурации();
			Если Истина
				И Расширение <> Неопределено 
				И НовыеРоли.Найти(Роль.Имя, "Роль") <> Неопределено
			Тогда
				ОтменитьУдалениеРолей.Добавить(КлючИЗначение.Ключ);
			КонецЕсли;
		КонецЦикла;
		Для Каждого Ключ Из ОтменитьУдалениеРолей Цикл
			РолиДляУдаления.Удалить(Ключ);
		КонецЦикла;
		Если РолиДляУдаления.Количество() = 0 И ОписаниеПользователя.Значение.РолиДляДобавления.Количество() = 0 Тогда
			УдалитьОбновлениеПользователей.Добавить(ОписаниеПользователя.Ключ);
		КонецЕсли;
	КонецЦикла;
	Для Каждого Ключ Из УдалитьОбновлениеПользователей Цикл
		ОбновляемыеПользователиИБ.Удалить(Ключ);
	КонецЦикла;
КонецПроцедуры

Проверено на БСП 3.1.7. Возможно будет работать и на других версиях 3.* . Буду постепенно обновлять эту информацию.

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 руб.

02.09.2020    102341    568    385    

616

Запрет доступа к данным по зарплате для БП.0 и КА 2.5

Зарплата Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5700 руб.

27.05.2021    30063    176    87    

136

Универсальная система оповещений в базе или по почте по произвольным условиям, расписанием, ролям и пользователям (Расширение / конфигурация для платформ 8.3.6+, для ЛЮБЫХ баз)

Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Данная система разработана как альтернатива стандартной системе напоминаний. Но имеет ряд существенных преимуществ: отображение в базе или с отправкой по почте, свое расписание, возможность фильтрации по ролям и пользователям, формирование своих запросов и макетов, шаблоны писем, работа в фоне. А также может блокировать работу пользователей при заданных условиях. Может работать в составе любой конфигурации. Имеется справка с описанием возможностей. (Обновление от 18.09.2023, версия 2.1, расширение)

16800 руб.

29.11.2019    24173    11    7    

28

Управление данными и формами (УДиФ)

Инструменты администратора БД Инструментарий разработчика Администрирование Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    1437    3    1    

20

Система интерактивных ролей и обработчиков с возможностью интерактивной настройки и не только (платформа 8.3.17+, расширение) для УТ 11 (все), КА 2, ERP 2, Розница 2, УНФ 1.6/3.0, БП 3, ЗУП 3.1, ААА 6

Роли и права Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Бухгалтерия автономного учреждения 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Мучаетесь со списком типовых ролей? Не хотите иметь дело с конфигуратором? Не знаете что делают имеющиеся права в базе? Хотите просто и удобно добавлять и настраивать, по одному клику, доступы и поведение при записи/удалении/проведении/открытии списка/фильтрацию данных в списках или формах выбора для пользователя или группы пользователей и для любого объекта? Не хотите переживать, что при обновлении конфигурации все права и роли слетят? (Обновление от 27.03.2023, версия 1.9)

10800 руб.

21.03.2022    13800    19    51    

38

Роли для кладовщика

Логистика, склад и ТМЦ Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Расширение, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

2000 руб.

21.05.2019    1690301    539    192    

129

Расширение для разграничения доступа к контрагентам и обработка для группового назначения доступа для Бухгалтерии (RLS) 3.0.143.42

Роли и права Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение предназначено для Бухгалтерии предприятия (версии ПРОФ и КОРП). Типовая конфигурация остается на поддержке. С помощью расширения менеджер по продажам будет иметь доступ к контрагентам и списку их документов только в случае, если он является для них ответственным. Пользователю с полными правами также доступна обработка «Назначение ответственных» для группового добавления/удаления ответственного в карточке контрагента. Есть версия данного расширения для клиентов Fresh - в магазине расширений (Fresh)

9360 руб.

14.09.2022    5470    4    4    

6
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. fatman78 17 18.06.23 23:38 Сейчас в теме
Фото у публикации - прямо в точку! Запарили уже эти глюки с ролями в БСП.
itoptimum; +1 Ответить
2. ivanov660 4230 19.06.23 09:33 Сейчас в теме
1. Я так понимаю у разработчиков БСП такой концепт - есть администратор (все доступно) и пользователи (разные роли и ограничения).
Автор предлагает, что-то вроде создании третьей группы - псевдо администраторы (ранее был популярен термин - псевдо полные).
2. А создать набор ролей для группы пользователей (псевдо полные) не получается?
bocharovki; artbear; +2 Ответить
3. tormozit 7077 19.06.23 09:55 Сейчас в теме
(2)
Что есть "набор ролей"? В БСП есть справочник "группы доступа". Я создал в нем свой элемент, добавил туда (в профиль этой группы доступа) роль из своего расширения и включил в состав этой группы нужного администратора. Но БСП игнорирует членство администраторов в других группах доступа кроме предопределенной группы "Администраторы" и не добавляет моему администратору базы (пользователю ИБ) назначенную таким образом мою роль. А расширение из этой статьи позволяет нейтрализовать это особое поведение для администраторов (только в отношении ролей из расширений) - назначенная через группу доступа роль появится у администратора базы (пользователя ИБ).
4. artbear 1444 19.06.23 09:58 Сейчас в теме
(0) Сергей, спасибо, полезный механизм!
5. triviumfan 87 19.06.23 16:10 Сейчас в теме
Не на правах рекламы, но буквально недавно наткнулся на похожую статью.
Правда автор предлагает явно роли прописывать, а тут значительно сложнее, но универсальней вроде.
tormozit; +1 Ответить
7. tormozit 7077 19.06.23 23:50 Сейчас в теме
(5) Да. Там решается та же проблема и у меня решение более универсальное, т.к. подходит для любых расширений.
12. Nikola23 688 21.06.23 09:47 Сейчас в теме
(5) решение из "той" статьи - корректное. В рамках методологии работы с БСП и без костылей, которые предложил автор текущей статьи
6. PerlAmutor 129 19.06.23 21:14 Сейчас в теме
Жаль в типовых нет роли "ТолькоПросмотр", а то для всяких Аудиторов приходится городить ПолныеПрава, но только на Чтение.
ardn; triviumfan; +2 Ответить
8. Lobion 20.06.23 14:09 Сейчас в теме
(6) В типовых решениях не так сложно создать роль ТолькоПросмотр. Где-то тут рядом статья об этом лежит.

В Профиле групп доступа необходимо отметить галками следующие пункты, начинающиеся на следующие фразы:
• Базовые права
• Запуск
• Использование
• Отчеты
• Подсистема
• Просмотр
• Раздел
• Чтение

Также рекомендую добавить следующие роли (для сохранения в файл):
• Вывод на принтер, в файл, в буфер обмена
• Редактирование, отправка по почте, сохранение в файл печатных форм
• Сохранение данных пользователя
• Сохранение настроек печати объектов по умолчанию
9. ardn 589 20.06.23 16:22 Сейчас в теме
(6)
Да, кстати, роль "для аудитора" очень часто требуется
10. MVK80 20.06.23 19:44 Сейчас в теме
(6), А профиль групп доступа Аудитор не подходит? Поставляется в типовых (видел в ERP, ЗУП, БП).
11. PerlAmutor 129 20.06.23 20:24 Сейчас в теме
(10) А он похоже только для подсистемы "Зарплата и кадры"
13. Dragonim 137 28.06.23 07:40 Сейчас в теме
(6) Создаете пользователя с необходимыми правами, а после для него выставляете дату запрета изменения данных 31.12.3999.
14. Erne100 285 27.07.23 00:25 Сейчас в теме
(13) Дата запрета изменения данных действует не на всё. Даже не на все документы.
Например в КА 2.5 не действует на "Заказ клиента"
15. tormozit 7077 25.11.23 17:14 Сейчас в теме
Обновил файл. Исправил ошибку
Значение контролируемого свойства ОбъектРасширяемойКонфигурации у объекта Язык.Русский не совпадает со значением в расширяемой конфигурации
Оставьте свое сообщение