Инструменты пользователя

Инструменты сайта


axapta:доступнауровнезаписей

Раздел: Безопасность


(также RecordLevelSecurity, сокращенно RLS) см. Главное меню\Администрирование\Настройка\Доступ на уровне записей


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

Для возможности выбора таблицы в настройке RLS необходимо, что бы в ее свойствах был установлен SecurityKey и, для случая наличия доменов, данные в таблице должны сохраняться по компаниям SaveDataPerCompany=YES

Чтобы настроенный RLS заработал, надо, чтобы у группы был хоть какой-то доступ к таблице.

К сожалению, запросы в RLS могут быть только к одной таблице, но есть модификация, позволяющая добавлять запросы по связанным таблицам (см. http://www.axaptapedia.com/Record_Level_Security)

В Ax2009 появилась Функция/СurrentUserId в критериях запросов. Используя ее, можно настроить, чтобы пользователи видели только свои записи (по полю CreatedBy). Просмотр работает.

Но при попытке создать запись, пишет ошибку:

Я так понимаю сначала происходит проверка RLS и только после этого заполняется поле CreatedBy. Получается, что использование такой штуки возможно только со своим полем «createdby», заполняемым до сохранения записи.

А для этого в критерии запроса попробуйте написать «»,currentUserId(). Тогда прокатит и создание. Кстати - такой фильтр уже стоит на журнале ГК если открыть журнал и вызвать расширенный фильтр (там правда не стоит функция, а стоит имя текущего пользователя)


http://axforum.info/forums/showthread.php?p=220336#post220336 http://forum.mazzy.ru/index.php?showtopic=767 http://axapta.mazzy.ru/hints/rls_setup/ http://forum.mazzy.ru/index.php?showtopic=895

axapta/доступнауровнезаписей.txt · Последнее изменение: 2018/04/13 22:43 (внешнее изменение)