|
19.08.2015, 09:39 | #1 |
Участник
|
XDS – Наложение 2 и более политик на одну таблицу. Есть ли решение?
Здравствуйте уважаемые форумчане!
Мне потребовалось ограничить список «Настраиваемых аналитик» (FinancialDimensionTag) для пользователя. Задача вроде тривиальная – У пользователя User1 должны выводиться значения «1,2», у пользователя User2 должны выводиться значения «3,4». Таких пользователей много и стоит вопрос замещения одних пользователей другими. Это должно решаться Ролями безопасности (ушел пользователь в отпуск – перекинул его роль другому пользователю), прописывать под каждый конкретный случай комбинаций значений XDS накладно. Решение такое данного примера – создать 2 (3,4,5 ,n) XDS policy, создать 2 (3,4,5,n) роли под каждую XDS Policy. Применить одну роль к первому пользователя, вторую ко второму и допустим начальнику применить обе роли чтоб видел все значения группы. Решение - 1. Создал query FinancialDimensionTagQuery и наложил Range на value (1,2), В Политике безопасности использовал этот query и наложил на роль A1 пользователю User1. Все прекрасно работает, пользователю выводятся только значения 1 и 2. 2. Создал еще одну роль A2 и ограничил уже значения 3 и 4 новой политикой безопасности. 3. Если к пользователю применять роль A1 или A2 значения выводятся, НО если применить обе роли пользователю, то начинает выводится пустой список. Я делаю вывод что нельзя применить больше одного ограничения на конкретную таблицу. Подскажите пожалуйста, как вы решили подобную задачу. Используемая система - Dynamics AX 2012 R3 CU8 Последний раз редактировалось Snow78; 19.08.2015 в 09:41. |
|
19.08.2015, 10:17 | #2 |
Участник
|
А что если использовать конструктив XDS? См. Microsoft Dynamics AX 2012 : справочник профессионала, Глава 11. Контроль доступа,лицензирование и конфигурирование. Вкратце, нужно создать временную таблицу типа TempDB, которая будет заполняться доступными для пользователя кодами аналитик, и на ней реализовать метод xds(), который будет ее заполнять. Временная таблица затем используется в запросе, ограничивающем доступные значения.
См., например, \Data Dictionary\Tables\MyLegalEntitiesForXDS\Methods\xds и \Queries\DirRestrictViewPartyTableInLegalEntity. Последний раз редактировалось gl00mie; 19.08.2015 в 10:21. Причина: пример |
|
|
За это сообщение автора поблагодарили: Snow78 (1), Kabardian (2), Dreadlock (3). |
Теги |
ax2012, security, xds |
|
|