2015-07-14 8 views
0

Мы определили роль ProjectManager. Мы хотим ограничить список доступного проекта. Идея состоит в том, чтобы разрешить доступ к проекту только для отдела пользователя. Информация отдела доступна в поле сотрудника и в финансовом аспекте проекта.Динамика AX: ограничение политики безопасности (xDS)

Я создал свой xDS, и он отлично работает.

Но менеджер проекта иногда может работать над проектами для других отделов. Поэтому я хочу «отключить» xDS, когда пользователь заполняет свои расписания. Поскольку xDS также ограничивает список проектов, когда пользователь добавляет строку в свои расписания.

У вас есть идея?

ответ

1

Прежде всего, вы можете попробовать отключить XDS для работы:

XDSServices xds = new XDSServices(); 
xds.setXDSState(false); 
//Do what you have to do 
xds.setXDSState(true); 

Затем, что касается вашего бизнеса случая, вы можете пойти с этой командой и ограничить список проектов с присоединиться к запросу. Или вы можете перейти к другому XDS с таблицей TempDB MyProject, содержащей все проекты, над которыми работает рабочий. Тогда у вас больше не будет проблем с фильтрацией. Но вам придется реализовать дополнительный фильтр/ограничение для других проектов отделов.

+0

'xds.setXDSState (false)' не работает каждый раз для пользователей с * системным администратором * или с именем пользователя * Admin *. – Matej

+0

Роль системного администратора предотвратит любую защиту доступа, и это тоже неявно для пользователя Admin. В вашей живой среде единственным пользователем, который должен быть частью роли System Adminitrator, должен быть пользователь Admin. Этот пользователь Admin должен использовать только ИТ для выполнения административных задач (контрольные списки установки, компиляция X ++ и CIL, синхронизация SQL и т. Д.) –

Смежные вопросы