AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.09.2013, 14:24   #1  
DAX13 is offline
DAX13
Участник
 
10 / 10 (1) +
Регистрация: 31.03.2010
AX 4.0 sp1 вопрос про RLS
Подскажите, пожалуйста, как ограничить пользователю доступ к операциям ГК по определенной аналитике.

Есть аналитика "Отдел", пользователь должен иметь доступ только к операциям отдела №1.
Я в правах настроил rls на таблицы LedgerTrans и LedgerBalancesDimTrans по отделу №1.

Проблема заключается в том, что при построении пользователем стандартных запросов типа "ОСВ по ГК" или "Главная книга" без указания аналитики "Отдел" (поле не заполнено) в отчет выгружаются данные и по другим отделам, к которым у пользователя доступа быть не должно.
Как правильно настроить права?

Последний раз редактировалось DAX13; 10.09.2013 в 14:31.
Старый 10.09.2013, 15:27   #3  
DAX13 is offline
DAX13
Участник
 
10 / 10 (1) +
Регистрация: 31.03.2010
В том то и дело, что доступ к таблицам ограничен. Для проверки я добавил пользователю доступ к АОТ, чтобы проверить что в этих таблицах нет "чужих" операций.
Проблема, на мой взгляд, заключается именно в отчетах. Класс LedgerBalanceSum не обращает внимания на RLS.
Старый 10.09.2013, 18:57   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
LedgerBalanceSum тут не причем, в нем изначально все выбиралось при помощи Query.
По DAX4 зависит не только от SP, но и от дальнейших обновлений.
Дело в том, что до определенного обновления выборка в генераторе финансовой отчетности шла при помощи select, после какого-то обновления выборка начала производиться с помощью Query. Естественно, select по умолчанию игнорирует RLS. Если у Вас версия до уазанной переработки, то RLS в генераторе отчетности можно заставить работать только добавляя во всех выборках классов LedgerRRG перед выборкой установку учета RLS в курсоре.
Посмотрите, есть ли у вас в AOT классы LedgerRRGOp_RU и его наследники. Если их нет, то Ваше приложение использует генератор, который игнорирует RLS.
Если классы есть, то копать нужно в другом направлении. Например, есть известная фича, что даже при наличии RLS в одной группе, если в другой группе пользователь имеет права на таблицу большие, чем в той, в которой установлен RLS, то RLS игнорируется.
Старый 10.09.2013, 21:38   #5  
TDV is offline
TDV
Участник
 
128 / 30 (2) +++
Регистрация: 04.11.2005
В 2009 перекрывал на таблице метод aosValidateRead. В нем возвращает нулевое значение в зависимости от группы куда входит пользователь. Не лучшее решение , но работает быстро.
Старый 11.09.2013, 11:34   #6  
DAX13 is offline
DAX13
Участник
 
10 / 10 (1) +
Регистрация: 31.03.2010
Цитата:
Посмотрите, есть ли у вас в AOT классы LedgerRRGOp_RU и его наследники.
Класс LedgerRRGOperation_RU с наследниками в AOT есть, но перекрестные ссылки класса RLedgerSheetEngine на него не указывают.

Цитата:
LedgerBalanceSum тут не причем, в нем изначально все выбиралось при помощи Query.
Почему я написал про LedgerBalanceSum. Этот класс работает не с самой таблицей LedgerBalancesDimTrans , а с View LedgerBalancesDim. Если под пользователем через обозреватель таблиц открыть таблицу LedgerBalancesDimTrans то видно, что RLS работает, все операции отфильтрованы по аналитике, но если через обозреватель таблиц открыть View LedgerBalancesDim то видно, что RLS не работает и пользователю доступны все операции. Как ограничить записи в View LedgerBalancesDim ?

Последний раз редактировалось DAX13; 11.09.2013 в 11:36.
Старый 11.09.2013, 17:33   #7  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Я не очень внимательно прочитал сообщение. В сообщении идет речь про встроенные отчеты по ГК , а ответ дал по генератору финансовой отчетности.
По теме: на view тоже можно установить доступ на уровне записи и он вроде бы работает. При установке доступа нужно выбрать пункт "Показать все таблицы" вместо "Показать основные таблицы" и установить доступ на таблицу "Главная книга \ Сальдо ГК - аналитики".
Попробовал, вроде бы работает.
За это сообщение автора поблагодарили: DAX13 (1).
Старый 12.09.2013, 15:02   #8  
DAX13 is offline
DAX13
Участник
 
10 / 10 (1) +
Регистрация: 31.03.2010
Цитата:
При установке доступа нужно выбрать пункт "Показать все таблицы" вместо "Показать основные таблицы" и установить доступ на таблицу "Главная книга \ Сальдо ГК - аналитики".
Спасибо за старания, "Сальдо ГК - аналитики" это таблица LedgerBalancesDimTrans. Действительно, на этой таблице RLS работает о чем я и писал выше. А вот с View LedgerBalancesDim проблема осталась, через обозреватель таблиц видны все записи.

Цитата:
Попробовал, вроде бы работает.
У вас работает на таблице или на View?
Старый 12.09.2013, 17:18   #9  
DAX13 is offline
DAX13
Участник
 
10 / 10 (1) +
Регистрация: 31.03.2010
Разобрался. Ответ нашел в ветке Настройка RLS для представлений (Views)
Странно, что, стандартное ограничение прав пользователя по аналитике, необходимо выполнять таким кривым способом.
Старый 14.09.2013, 13:04   #10  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от DAX13 Посмотреть сообщение
У вас работает на таблице или на View?
Да, на view, потому что именно его я выбрал в форме настройки (скрин приведен). Правда, после последнего сообщения заинтересовался почему у меня это получилось (суды по ссылке, view там фигурировать не должно).
Оказывается, у нас в методе allowSecuritySetup класса SysDictTable комментирована проверка this.isView(). Ну а на вьюхе LedgerBalancesDim ключ LedgerTables поставил уже перед экспериментом.
Изображения
 
За это сообщение автора поблагодарили: DAX13 (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX Sustained Engineering: Announcing Rollup 8 for Microsoft Dynamics AX 2009 SP1 Blog bot DAX Blogs 0 22.03.2012 22:11
Rahul Sharma: Install Microsoft Dynamics AX 2009 SP1 on Windows 7 Blog bot DAX Blogs 0 04.05.2011 21:13
axinthefield: Dynamics AX Event IDs Blog bot DAX Blogs 0 01.03.2011 22:11
mbsturk: Ax 2009 Rollup 4 Version Checker Blog bot DAX Blogs 0 29.04.2010 17:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:49.