Неправильная обработка права доступа

Ответить
Paganini
Сообщения: 124
Зарегистрирован: 06 фев 2018, 12:05
Имя: Марат Капранов
Откуда: Россия, Санкт-Петербург

Неправильная обработка права доступа

Сообщение Paganini »

Здравствуйте!

Сегодня обратили внимание, что пользователям доступны записи сущности, которые по идее не должны быть им доступны. В правилах "Настройка доступа" для группы этих пользователей явно задано "Просматривать только назначенные". Однако эти пользователи видят записи, которые НЕ назначены на них. Но эти пользователи когда-то создавали эти записи (служебное поле "создано"). CRM дает доступ не только к явно назначенным записям, но и к записям, автором которых является этот пользователь. Это, вообще говоря, крайне странно, и, кажется, раньше такой петрушки не было.

Назначение записи происходит через форму, поле с типом "Пользователи" ("Специальное поле позволяет назначать пользователей к элементам и настраивать доступ пользователей к элементам"). Атрибут "Создано" заполняется автоматом при создании записи от имени создавшего. Временно, впрочем, я мог бы создать левого пользователя и поменять все атрибуты "создано", если моя догадка верна, но делать это придется только через прямое редактирование БД :(

Как быть? Спасибо.
Аватара пользователя
support
Техническая поддержка
Сообщения: 8993
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Неправильная обработка права доступа

Сообщение support »

Создатель записи так же считается назначенным на запись.
Paganini
Сообщения: 124
Зарегистрирован: 06 фев 2018, 12:05
Имя: Марат Капранов
Откуда: Россия, Санкт-Петербург

Re: Неправильная обработка права доступа

Сообщение Paganini »

Это можно как-то обойти? Я поясню: есть менеджер, он завел в базу своих клиентов. Затем менеджера переназначили на другой федеральный округ, а тех клиентов, которых он завел, назначили на другого менеджера. Ну и получается фарш - первый менеджер видит не только своих клиентов, явно назначенных на него, но и всех, которых он насоздавал.
При этом сменить создателя записи можно только через прямой sql-запрос. А при назначении прав доступа типа "Просмотр только назначенных" нигде нет даже подсказки, что пользователь будет видеть не только назначенных.

В общем, я понимаю, зачем так реализовано - чтобы у создателя записи не пропадала она сразу из таблички (он же не назначается автоматом на нее). С другой стороны, сейчас же уже есть возможность при создании записи назначать на нее текущего пользователя, и created_by вообще становится не нужен в таком сценарии.

В итоге мне, видимо, придется кроном выполнять sql-запрос, чтобы сбрасывались все создатели записей, иначе разграничение прав на просмотр записей просто идет насмарку.
Аватара пользователя
support
Техническая поддержка
Сообщения: 8993
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Неправильная обработка права доступа

Сообщение support »

Есть такой функционал как "Видимость записей"
https://docs.rukovoditel.net.ru/index.php?p=82
Там все можно очень гибко настроить.
Ответить