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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.02.2007, 11:45   #1  
Jony is offline
Jony
Участник
 
99 / 22 (1) +++
Регистрация: 25.06.2003
Адрес: г. Барнаул
Например по ключу доступа на пункт меню для формы или на таблице:
метод из Global:
static boolean hasSecuritykeyAccess(SecurityKeyId SecurityKeyId, AccessType neededAccessLevel)
{
return new DictSecurityKey(SecurityKeyId).rights() >= neededAccessLevel;
}


new DictSecurityKey(SecurityKeyId).rights() - скажет какой уровень оступа есть у текущего пользователя для ключа SecurityKeyId
SecurityKeyId - можно получить если Вы знаете название ключа securityKeyNum(....);

ключ на таблице можно получить через класс dictTable
Старый 14.02.2007, 11:56   #2  
Pavel Pustovalov is offline
Pavel Pustovalov
Участник
 
65 / 11 (1) +
Регистрация: 09.08.2004
Адрес: Omsk
Всем спасибо за советы. Про класс SecurityKeySet - не знал, покопаюсь.

Хотелось бы вот так: есть два menuItem с разными SecurityKey на одну и ту же форму с таблицей Table1. Насколько я понимаю права на доступ к таблице в этой форме будут как пересечение прав на SecurityKey таблицы и SecurityKey для MenuItem открывшего форму (поправьте если ошибаюсь).
Ну вот, в фоме скажем в методе init я хочу узнать какие же права есть у пользователя на эту таблицу. Аксапта же это определяет до открытия формы, т.е. делать то что она уже сделала не хочется, хочется просто получить результат ее вычислений.

Последний раз редактировалось Pavel Pustovalov; 14.02.2007 в 11:59.
Старый 14.02.2007, 12:33   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Pavel Pustovalov Посмотреть сообщение
Ну вот, в фоме скажем в методе init я хочу узнать какие же права есть у пользователя на эту таблицу.
Боже! Что ж вы делаете, интересно? Это-ж закат солнца вручную.

Смотрите в форму SysUserSecurity или SysUserGroupSecurity
Эта форма показывает дерево с правами на каждый элемент меню, формы, отчета.

Можно спросить ради интереса? вы сделали какую-то универсальную штуку, которая автоматически создает колонки и показывает данные, а теперь думаете как к этой универсальной штуке прикрутить права доступа?
__________________
полезное на axForum, github, vk, coub.
Старый 14.02.2007, 12:51   #4  
Pavel Pustovalov is offline
Pavel Pustovalov
Участник
 
65 / 11 (1) +
Регистрация: 09.08.2004
Адрес: Omsk
Цитата:
Сообщение от mazzy Посмотреть сообщение
Боже! Что ж вы делаете, интересно? Это-ж закат солнца вручную.

Смотрите в форму SysUserSecurity или SysUserGroupSecurity
Эта форма показывает дерево с правами на каждый элемент меню, формы, отчета.

Можно спросить ради интереса? вы сделали какую-то универсальную штуку, которая автоматически создает колонки и показывает данные, а теперь думаете как к этой универсальной штуке прикрутить права доступа?
Ну и фантазия у Вас mazzy.
На самом деле все более прозаично.

При открытии формы я должен узнать имеет ли право пользователь удалять записи в таблицы или нет и в зависимости от результата делать соответствующие ограничения. На самом деле и MenuItem - один, но мне просто стало интересно что если их два или больше, то как узнать каким открылась форма. И опять же повторюсь права на таблицу на форме - пересечение прав на MenuItem и на таблицу. Самому строить пересечение мне не хочется, Аксапта же это делает сама, вот я и хотел как-то взять информацию об этом из формы.
Старый 14.02.2007, 13:23   #5  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от Pavel Pustovalov Посмотреть сообщение
На самом деле и MenuItem - один, но мне просто стало интересно что если их два или больше, то как узнать каким открылась форма.
element.args().menuItemName() вернет имя МенюАйтема, а element.args().menuItemType() - тип. Вроде как.
Старый 15.02.2007, 00:25   #6  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,500 / 1097 (40) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от Pavel Pustovalov Посмотреть сообщение
На самом деле все более прозаично.

При открытии формы я должен узнать имеет ли право пользователь удалять записи в таблицы или нет и в зависимости от результата делать соответствующие ограничения. На самом деле и MenuItem - один, но мне просто стало интересно что если их два или больше, то как узнать каким открылась форма. И опять же повторюсь права на таблицу на форме - пересечение прав на MenuItem и на таблицу. Самому строить пересечение мне не хочется, Аксапта же это делает сама, вот я и хотел как-то взять информацию об этом из формы.
Можно сделать такие ограничения по другому:
1. создать ключ безопасности "Запретить то то и там то"
2. в нужном месте проверить какой доступ к этому ключу у пользователя и разрешить/запретить что надо

при этом можно тоньше ограничивать пользователя. например разрешить полный домтуп к заказам типа Заказ и только чтение к заказам типа Контракт.

Последний раз редактировалось raz; 15.02.2007 в 00:30.
За это сообщение автора поблагодарили: mazzy (5).
Теги
faq, безопасность, права доступа

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Организация доступа внешних веб-пользователей к DAX 4.0 alex55 DAX: Администрирование 1 07.06.2009 17:48
Расширение возможностей стандартных прав доступа Stainless DAX: Программирование 2 19.06.2008 10:36
Экспорт/Импорт прав доступа Anais DAX: Администрирование 28 11.11.2006 21:44
Смена доступа на таблицу в конкретной форме Perc DAX: Программирование 5 05.11.2006 23:08
Проблемы настройки прав доступа пользователям axot DAX: Администрирование 25 16.05.2002 10:47
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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