Здравствуйте!
Сегодня обратили внимание, что пользователям доступны записи сущности, которые по идее не должны быть им доступны. В правилах "Настройка доступа" для группы этих пользователей явно задано "Просматривать только назначенные". Однако эти пользователи видят записи, которые НЕ назначены на них. Но эти пользователи когда-то создавали эти записи (служебное поле "создано"). CRM дает доступ не только к явно назначенным записям, но и к записям, автором которых является этот пользователь. Это, вообще говоря, крайне странно, и, кажется, раньше такой петрушки не было.
Назначение записи происходит через форму, поле с типом "Пользователи" ("Специальное поле позволяет назначать пользователей к элементам и настраивать доступ пользователей к элементам"). Атрибут "Создано" заполняется автоматом при создании записи от имени создавшего. Временно, впрочем, я мог бы создать левого пользователя и поменять все атрибуты "создано", если моя догадка верна, но делать это придется только через прямое редактирование БД
Как быть? Спасибо.
Неправильная обработка права доступа
- support
- Техническая поддержка
- Сообщения: 8993
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Неправильная обработка права доступа
Создатель записи так же считается назначенным на запись.
-
- Сообщения: 124
- Зарегистрирован: 06 фев 2018, 12:05
- Имя: Марат Капранов
- Откуда: Россия, Санкт-Петербург
Re: Неправильная обработка права доступа
Это можно как-то обойти? Я поясню: есть менеджер, он завел в базу своих клиентов. Затем менеджера переназначили на другой федеральный округ, а тех клиентов, которых он завел, назначили на другого менеджера. Ну и получается фарш - первый менеджер видит не только своих клиентов, явно назначенных на него, но и всех, которых он насоздавал.
При этом сменить создателя записи можно только через прямой sql-запрос. А при назначении прав доступа типа "Просмотр только назначенных" нигде нет даже подсказки, что пользователь будет видеть не только назначенных.
В общем, я понимаю, зачем так реализовано - чтобы у создателя записи не пропадала она сразу из таблички (он же не назначается автоматом на нее). С другой стороны, сейчас же уже есть возможность при создании записи назначать на нее текущего пользователя, и created_by вообще становится не нужен в таком сценарии.
В итоге мне, видимо, придется кроном выполнять sql-запрос, чтобы сбрасывались все создатели записей, иначе разграничение прав на просмотр записей просто идет насмарку.
При этом сменить создателя записи можно только через прямой sql-запрос. А при назначении прав доступа типа "Просмотр только назначенных" нигде нет даже подсказки, что пользователь будет видеть не только назначенных.
В общем, я понимаю, зачем так реализовано - чтобы у создателя записи не пропадала она сразу из таблички (он же не назначается автоматом на нее). С другой стороны, сейчас же уже есть возможность при создании записи назначать на нее текущего пользователя, и created_by вообще становится не нужен в таком сценарии.
В итоге мне, видимо, придется кроном выполнять sql-запрос, чтобы сбрасывались все создатели записей, иначе разграничение прав на просмотр записей просто идет насмарку.
- support
- Техническая поддержка
- Сообщения: 8993
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Неправильная обработка права доступа
Есть такой функционал как "Видимость записей"
https://docs.rukovoditel.net.ru/index.php?p=82
Там все можно очень гибко настроить.
https://docs.rukovoditel.net.ru/index.php?p=82
Там все можно очень гибко настроить.