Ограничение прав на уровне отборов

26.10.10

Администрирование - Информационная безопасность

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Конфигурация
.cf 62,12Kb
89 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Здравствуйте, уважаемые коллеги. Решил поделится одной наработкой, на звезды и огромное количество плюсов не претендую, только на ваше внимание и минутку определенного времени для оценки такого вида возможности "Ограничения прав".

 

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

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

Думал.... Переписывать RLS. Но как!? Там уже у меня куча групп пользователей и филиалов, да и ролей полно в самой конфигурации и уже все шаблоны прописаны мной и протестированы...

Ура... Вот оно решение, а что если пользователям, которые ограничены к отчетности, строго  в отборе отчетов программно определять их доступ? И если даже пользователь будет сам этот отбор убивать/изменять, чтобы он проставлялся при переформировании вновь. Вот оно... Начал процесс разработки. Конечно же, тут без кода не обойтись, но и надо его максимально минимизировать. Также встал вопрос "свойств и категорий" и это удалось решить...

Архитектура разработки:

  1. В систему добавлен справочник "ХранениеИзмеренийОтчетов":
    Его реквизиты:
    • Наименование - обработка начало выбора добавлен список выбора текущих отчетов конфигурации, для возможности выбора его из списка;
    • СинонимОтчета - собственно это  и есть синоним отчета конфигурации метаданных (проставляется автоматически от изменения наименования);
    Табличная часть:
    • ИмяИзмерения - здесь надо знать точное имя измерения как оно выглядит в построителе;
    • Представление - это для своего удобства;
    • Назначение - Назначение: свойства/категории. Если данное измерение содержит свойства или категории и ограничения пользователя будут через свойства или категории, то имеет смысл здесь определить этот тип.

  2. Также в систему добавлен регистр сведений ОграничениеОтбораКОтчетам. Структуру данного регистра можно посмотреть в конфигурации.

  3. Добавлены общие модули: "НастройкаДополнительныхПрав", "VWG_СтандартныеОтчеты".

  4. Внесены изменения в отчеты конфигурации, с которыми работают пользователи. В конфигурации примером есть отчет "Продажи".

    А именно в процедурах:

    В процедуру  УстановитьНачальныеНастройки() добавлено:

    //+VWG VWG_СтандартныеОтчеты.УстановитьИспользованиеСвойствИКатегорий(ЭтотОбъект.Метаданные().Имя,УниверсальныйОтчет);
    //-VWG


    И в процедуру СформироватьОтчет(ТабличныйДокумент) добавлено:

    //+VWG
    VWG_СтандартныеОтчеты.ПрименитьОграничениеКИзмерениямОтчета(ЭтотОбъект.Метаданные().Имя,УниверсальныйОтчет);
    //-VWG


Здесь собственно все. Как у меня работает система, показано на скриншотах.

Благодарю за внимание.

 

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

Конфигурационный файл сделан на движке 8.2.10.77.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Информационная безопасность Поиск данных ServiceDesk, HelpDesk Журналы и реестры данных 1С 8.3 Россия Бухгалтерский учет Бюджетный учет Налоговый учет Управленческий учет Платные (руб)

Полный контроль над изменениями в 1С без нагрузки на вашу базу. Мгновенный доступ к истории изменений, удобное сравнение и откат данных в один клик. Простой отчет с визуальным отображением изменений Откат на любую версию объекта в два клика История изменения данных хранится во внешней базе

183000 руб.

05.09.2025    4073    1    1    

3

Информационная безопасность Пароли 1С:Предприятие 8 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    13258    kamisov    19    

64

Информационная безопасность Программист 1С:Предприятие 8 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    20379    AlexeyPROSTO_1C    10    

44

Информационная безопасность Программист 1С:Предприятие 8 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    4533    platonov.e    1    

23

Информационная безопасность Системный администратор 1С:Предприятие 8 1C:Бухгалтерия Россия Абонемент ($m)

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

5 стартмани

24.04.2023    8678    29    soulner    8    

33

Информационная безопасность Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    10766    76    Silenser    17    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SergDi 27.10.10 22:50 Сейчас в теме
о боже! Человек, а не проще применить RLS к регистру...
2. ArtfulCrom 22 31.10.10 03:03 Сейчас в теме
Жесть, правда? :o

А представляете насколько легко по этим скриншотам идентифицируется компания для которой коллега пишет такие отчеты :) Регионы Украины и ТМ показаны в открытом виде, идентифицировать чья сеть представляет эти ТМ в этих регионах проще пареной репы :)

Но зачем это узнавать? Как впрочем и зачем весь этот огород вместо Правильно настроенной РЛС :)
3. Rabajaba 358 02.11.10 13:06 Сейчас в теме
RLS на 8.2 не вызывает тех же торможений, что были в 8.1?
4. 1C_Lab 20 03.08.12 23:28 Сейчас в теме
у rls сталкивался с проблемами производительности. взял разработку автора для внедрения в собственную базу. Нравится что можно выполнять настройку отборов по горячему без внесения изменений в кода в режиме предприятия. Автору спс.
5. stas1kbob 60 19.11.13 12:37 Сейчас в теме
хорошие у автора клиенты
6. VTselousov 13.03.15 16:50 Сейчас в теме
Конфигурация УТ 10.3.26 выдает ошибку

{РегистрСведений.ОграничениеОтбораКОтчетам.Форма.ФормаЗаписи.Форма(82)}: Значение не является значением объектного типа (Метаданные)
ИсходнаяТаблица = Пользователь.Метаданные().Имя;
Для отправки сообщения требуется регистрация/авторизация