Особенности работы механизма RLS

30.05.14

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

RLS Изменение отрабатывается 2 раза

Однажды, мое руководство придумало, как организовать работу продавца с документами реализации: Давай, говорит, сделай так, чтоб если продавец ошибся при проведении документа, то мог только пометить его на удаление. Автоматически подумалось: надо потыкать галочки в правах. Ан нет! Дело в том, что право Интерактивная пометка на удаление, в случае проведенного документа, противоречит с отсутствием права Интерактивное изменение проведенных. Выходит, что для решения этой задачи надо выдать пользователю, практически, полные права на документ... И я нашел спасение в RLS.

Для меня стало открытием то, что RLS Изменение отрабатывается как минимум 2 раза. Перед записью и при записи. В доказательство сего приведу следующий пример кода ограничения доступа для документа:

ГДЕ 
      ВЫБОР
            КОГДА ПометкаУдаления <> Ссылка.ПометкаУдаления ТОГДА
                  НЕ Ссылка.ПометкаУдаления
            КОГДА Проведен <> Ссылка.Проведен ТОГДА
                  НЕ Ссылка.Проведен
            КОГДА Реквизит <> Ссылка.Реквизит ТОГДА
                  НЕ Ссылка.Проведен
      
      ИНАЧЕ ИСТИНА
      КОНЕЦ

Эта конструкция позволяет поставить пометку на удаление, но не позволяет ее снять. Позволяет провести, но не дает отменить проведение. И наконец, не дает изменить Реквизит проведенного документа. Разумеется, перечень «контрольных» реквизитов в условии можно расширить.

Первым проходом ПередЗаписью проверяются неравенства с атрибутами еще не записанного объекта, используя Ссылка.Атрибут, а вторым, ПриЗаписи, когда объект и ссылка разделены только полным окончанием транзакции, проверять уже нечего — ИНАЧЕ ИСТИНА.

Очень было бы заманчиво вместо Реквизит использовать ВерсияДанных. Получилась бы оптимальная проверка на Изменение. Но, к сожалению, версия данных в обоих проходах идентична. Что, в общем, понятно — устанавливать версию данных можно только на уже записанный объект.

Спасибо за внимание.

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

RLS ограничения прав права доступа на уровне записей

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

180000 руб.

05.09.2025    5028    2    1    

3

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2449    6    0    

21

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

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

30.05.2024    15514    kamisov    19    

66

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

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

27.02.2024    24343    AlexeyPROSTO_1C    10    

45

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

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

1 стартмани

27.10.2023    5324    platonov.e    1    

23

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

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

5 стартмани

24.04.2023    9457    30    soulner    8    

35

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

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

2 стартмани

08.12.2022    11823    79    Silenser    18    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. petrov_al 10 31.05.14 13:30 Сейчас в теме
спасибо за информацию...
2. avasl 75 04.06.14 10:35 Сейчас в теме
В доке это описано:

"Для операции изменения ограничению доступа к данным должен соответствовать объект как до изменения (чтобы объект был прочитан), так и после изменения (чтобы объект был записан)."
http://its.1c.ru/db/v83doc#content:63:1
3. karapuzzzz 63 04.06.14 11:09 Сейчас в теме
Даже не задумывался над этим. Но спасибо большое за информацию - очень полезно.

<offtop>
Понравилась конструкция:

Однажды, мое руководство придумало, как организовать работу продавца

Уже это сделало мое рабочее утро.
</offtop>
4. master_yoda 27 06.06.14 10:27 Сейчас в теме
Первые два предложения смеялся, упал под стол, оттуда и пишу сейчас
5. FractonKireyev 06.06.14 14:20 Сейчас в теме
Красиво с точки зрения выполнения задачи.
И с юмором.
6. rozer 323 06.06.14 16:26 Сейчас в теме
7. aexeel 73 13.06.14 20:00 Сейчас в теме
Не думаю, что пометка на удаление документов продавцами очень уж частая операция. В то время как мех-м РЛС будет отрабатывать для каждого события записи. Как вариант, можно было бы ограничить изменение проведенных документов штатными правами, а к документу(ам) подключить команду пометки на удаления в привелигированном режиме.
8. mr.Kot 27.06.14 11:16 Сейчас в теме
Жесткое руководство. Продавцам работать теперь один стресс будет
9. BabySG 27.06.14 15:52 Сейчас в теме
Первым проходом ПередЗаписью проверяются неравенства с атрибутами еще не записанного объекта

Записи в базе нет, но мы уже ломимся ее проверять? В скуле смотрели, какие запросы возникают и сколько раз? Что там показывают?
Я вот не очень понимаю, какие атрибуты НЕЗАПИСАННОГО объекта мы проверяем.
10. RustIG 1968 03.07.14 15:14 Сейчас в теме
(0) RLS красиво работает на ограничение в правах на чтение, когда по какому-нибудь контрагенту пользователь не имеет право видеть информацию (на примере БП 2.0 КОРП)
А в остальных ситуациях не пробовал применять RLS.
В УТ 11 и без них запутанные взаимосвязи прав доступа: профили, группы доступа и т.д.
Чаще я встречался с различно рода механизмами ограничения прав: иерархия прав пользователей через регистр сведений, ограничение на статусы документа, добавление поля Автор документа к уже имеющемуся полю Ответственный и т.д.
Для отправки сообщения требуется регистрация/авторизация