gifts2017

Отчет для анализа прав доступа в разрезах Право/Объект/Роль/Профиль/Пользователь

Опубликовал Роман Уничкин (unichkin) в раздел Администрирование - Защита, права, пароли

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

Выбирайте вариант анализа и соответствующий объект, делайте отбор по правам доступа с помощью кнопки "Права...", и анализируйте результат, представленный с помощью СКД. Для каждого варианта анализа предусмотрена своя настройка варианта, это отображено на скриншотах.

Также вы можете изменить текущую настройку варианта (например, изменить настройку группировок), и переформировать отчет. Благодаря тому, что набор данных кэшируется, переформирования отчета не будет, т.е. можно быстро проанализировать данные в различных разрезах. Управление кэшем - вынес на кнопку, т.е. если после формирования отчета что-то изменилось, и нужно проанализировать тот же объект - установите перед формированием пометку "Очищать кэш".

Очень важная фишка этого отчета: работает расшифровка. Т.е. в сформированном отчете по роли можно двойным кликом по группировке вызвать формирование нового экземпляра отчета для объекта, из него - профиля и т.п.

Т.к. отчет применяется мной для разработки новых профилей, вынес две важные команды на форму:

  • Обновить ИОМ - вызывает команды обновления справочника "Идентификаторы объектов метаданных", а также значения связанной с ним константы "ПараметрыРаботыПользователей"
  • Открыть справочник - открывает формы списка часто используемых справочников - см. скриншот.

 

Если вам необходимо проверить доступ пользователя к определенным объектам, установите перед формированием флажок "Отключить анализ ролей" - отчет сформируется быстрее.

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

p.s.

Отчет построен вокруг метода глобального контекста "ПравоДоступа()". Т.к. из свойства "Метаданные" невозможно понять у какого объекта какие существуют права доступа - я описал эту таблицу вручную, и при формировании проверяются только корректные права. Никаких "Попытка/Исключение" - за счет этого отчет формируется быстрее.

Была мысль - формировать с учетом иерархии прав доступа. Ведь если у пользователя есть право доступа например для справочника - "ИнтерактивноеДобавление" - то права "Добавление", "Редактирование", "Просмотр" и проч. - уже проверять не надо, их доступность и так обеспечена. Столкнулся с интересной деталью - поиск кешируемой строки в массиве работает дольше, чем метод ПравоДоступа - поэтому в итоге свой кэш отключил. Думаю, что платформа сама это дело кеширует именно по такому алгоритму - так что знайте вот такую особенность метода "ПравоДоступа".

 

+ Добавлено 2015.06.19

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

 

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

Наименование Файл Версия Размер Кол. Скачив.
Анализатор ролей.erf
.erf 64,85Kb
19.06.15
163
.erf 64,85Kb 163 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Serg (nkp14108) 22.04.15 12:45
Начало не плохое. На практике чуть переделал вашу обработку. С практической точки зрения понадобилось по отбору пользователя узнать какие у него права(роли или группы доступа(ограничения)), а применительно к документообороту, к каким он имеет доступ папкам, кому делегированы права, в каких документах он допущен в составе рабочей группы, но потеряна универсальность.
2. Роман Уничкин (unichkin) 22.04.15 23:14
(1) nkp14108, спасибо за комментарий.
Вы имеете в виду, что необходим доп. разрез по пользователям? Я думал об этом. Но такая доработка увеличит анализируемый массив, следовательно чтобы сократить время формирования до комфортного, потребуются возможность дополнительных отборов, а это уже потребует больше времени. Добавлю, т.к. и самому иногда нужно. Правда вот когда - сказать не могу :)
Кстати тоже момент: если добавляем разрез по пользователю, то в каком виде компоновать результат? Там (имхо) наглядно будет видеть сразу разрезы "Профиль/Роли" , "Объекты/Права" (наподобие скрина "Объект.png").
3. Роман Уничкин (unichkin) 03.06.15 20:54
2015_06_03 Отчет улучшил, многое изменил, - в частности добавлена возможность анализа пользователя.
4. Алексей Трофименко (Lok`Tar) 14.03.16 13:14
Спасибо! В ЕРП замаялся искать роли.
5. Роман Уничкин (unichkin) 14.03.16 13:24
(4) Lok`Tar, Самое лучшее спасибо - это все-же плюс.
6. Алексей Совит (AlexSvt) 25.05.16 12:05
Великолепный отчет! Благодарю.
7. Вадим Аверин (IT_Avito) 15.06.16 12:37
Спасибо большое за отчет, очень помог в работе.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа