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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.09.2013, 12:52   #1  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Настройка прав в журналах
Добрый день.

Подскажите, есть ли возможность стандартными средствами настроить права доступа таким образом, чтобы один и тот же пользователь, например, в складском журнале с типом "Проводка" мог править поле Qty, а в журнале с типом "Прибыли / Убытки" имел доступ только на чтение к этому полю? Или только программировать? (AX 2009)

Из доработок вижу следующие варианты:
1. Вешать дополнительные ключи на элементах формы. Куча минусов - настраивать права сложно (надо помнить где в дереве искать тот ключ), продвинутый пользователь добавит себе через настройку это же поле из ds и обойдет запрет на контроле, сразу нельзя понять есть права на поле или нет, т.к. нужно смотреть в несколько мест, про это нужно всегда помнить.
2. Создавать ключи доступа, в коде проверять наличие прав на эти ключи и в зависимости от результата проверки устанавливать доступ на поля в ds. Минусы все те же, что и в предыдущем пункте, кроме "продвинутого пользователя".
3. Писать какой-то свой движок настройки прав доступа, в котором можно будет выдавать права на поля в зависимости от каких-то условий (например, тип журнала).
Тут тоже вижу больше минусов, чем плюсов в поддержке этого решения.

Если кто-то решал подобную проблему, то поделитесь, пожалуйста, опытом.
Старый 16.09.2013, 13:29   #2  
ice321i is offline
ice321i
Участник
 
63 / 54 (2) ++++
Регистрация: 22.10.2007
Расширение возможностей стандартных прав доступа
За это сообщение автора поблагодарили: _scorp_ (2).
Старый 16.09.2013, 13:39   #3  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
На форме на поле формы можно установить SecurityKey, им можно будет рулить, ключ лучше делать отдельный "специальный". Можно так же сделать отдельный "специальный" SecurityKey и в init() формы или датасорса прописать
X++:
inventJournalTrans_ds.object(fieldNum(InventJournalTrans, Qty)).allowEdit(hasSecuritykeyAccess(securityKeyNum(MySpecKey), AccessType::Edit));
За это сообщение автора поблагодарили: _scorp_ (2).
Старый 16.09.2013, 16:05   #4  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
В стандарте думаю никак, но стандарт можно допилить, точнее механизмы, которые ограничивают доступ к контролам в форме уже есть, но они работают не для всех контролов - права доступа на поля формы. Ну скорее всего придется допиливать настройку прав при добавлении контролов на форму, для защиты от продвинутого юзера.

Как то делал доработку по настройке прав доступа к полям фин. аналитик(еще для 4.0, но разница я думаю небольшая) - реализация была примерно следующая - табличка с id таблицы, id поля фин. аналитики, доступ, группа. При запуске AX в кеш помещались данные по доступу, дальше при запуске формы пробегались контролы и находились те фин. аналитики на которые ограничен доступ и через метод userSecurityLevel устанавливался доступ (через allowEdit нельзя, т.к. в дальнейшем могли просто написать другие условия по доступности поля и как следствие настройка прав бы игнорировалась). В вашем случае можно создать табличку еще в разделении формы, но лучше как мне кажется допилить чуток стандарт.
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: _scorp_ (2).
Старый 17.09.2013, 11:16   #5  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Похоже от программирования не уйти... Спасибо.
Старый 17.09.2013, 12:41   #6  
Shmel_83 is offline
Shmel_83
Участник
 
74 / 25 (1) +++
Регистрация: 08.04.2009
Можно попробовать рассмотреть другие решения этой проблемы:
Например, закрыть этому пользователю доступ к журналу "Прибыли / Убытки" совсем (или частично для журналов "Прибыли / Убытки", привязанных к какой-либо группе пользователей, в которую он не входит), а количество пусть смотрит в другом месте, например в складских проводках, отчетах и т.п.

Последний раз редактировалось Shmel_83; 17.09.2013 в 12:43.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Настройка прав доступа в DAX2009 raz DAX: Администрирование 6 03.11.2011 10:11
RLS+Обычная настройка прав gefr DAX: Администрирование 3 05.10.2007 18:41
Настройка прав доступа на уровне записей Pan DAX: Администрирование 19 12.11.2006 11:10
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Упрощенная настройка прав пользователя renat DAX: Программирование 4 03.09.2003 05:23

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

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

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