|
![]() |
#1 |
Участник
|
Например по ключу доступа на пункт меню для формы или на таблице:
метод из Global: static boolean hasSecuritykeyAccess(SecurityKeyId SecurityKeyId, AccessType neededAccessLevel) { return new DictSecurityKey(SecurityKeyId).rights() >= neededAccessLevel; } new DictSecurityKey(SecurityKeyId).rights() - скажет какой уровень оступа есть у текущего пользователя для ключа SecurityKeyId SecurityKeyId - можно получить если Вы знаете название ключа securityKeyNum(....); ключ на таблице можно получить через класс dictTable |
|
![]() |
#2 |
Участник
|
Всем спасибо за советы. Про класс SecurityKeySet - не знал, покопаюсь.
Хотелось бы вот так: есть два menuItem с разными SecurityKey на одну и ту же форму с таблицей Table1. Насколько я понимаю права на доступ к таблице в этой форме будут как пересечение прав на SecurityKey таблицы и SecurityKey для MenuItem открывшего форму (поправьте если ошибаюсь). Ну вот, в фоме скажем в методе init я хочу узнать какие же права есть у пользователя на эту таблицу. Аксапта же это определяет до открытия формы, т.е. делать то что она уже сделала не хочется, хочется просто получить результат ее вычислений. Последний раз редактировалось Pavel Pustovalov; 14.02.2007 в 11:59. |
|
![]() |
#3 |
Участник
|
Цитата:
Смотрите в форму SysUserSecurity или SysUserGroupSecurity Эта форма показывает дерево с правами на каждый элемент меню, формы, отчета. Можно спросить ради интереса? вы сделали какую-то универсальную штуку, которая автоматически создает колонки и показывает данные, а теперь думаете как к этой универсальной штуке прикрутить права доступа? |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от mazzy
![]() Боже! Что ж вы делаете, интересно? Это-ж закат солнца вручную.
Смотрите в форму SysUserSecurity или SysUserGroupSecurity Эта форма показывает дерево с правами на каждый элемент меню, формы, отчета. Можно спросить ради интереса? вы сделали какую-то универсальную штуку, которая автоматически создает колонки и показывает данные, а теперь думаете как к этой универсальной штуке прикрутить права доступа? ![]() На самом деле все более прозаично. При открытии формы я должен узнать имеет ли право пользователь удалять записи в таблицы или нет и в зависимости от результата делать соответствующие ограничения. На самом деле и MenuItem - один, но мне просто стало интересно что если их два или больше, то как узнать каким открылась форма. И опять же повторюсь права на таблицу на форме - пересечение прав на MenuItem и на таблицу. Самому строить пересечение мне не хочется, Аксапта же это делает сама, вот я и хотел как-то взять информацию об этом из формы. |
|
![]() |
#5 |
Axapta
|
|
|
![]() |
#6 |
NavAx
|
Цитата:
Сообщение от Pavel Pustovalov
![]() На самом деле все более прозаично.
При открытии формы я должен узнать имеет ли право пользователь удалять записи в таблицы или нет и в зависимости от результата делать соответствующие ограничения. На самом деле и MenuItem - один, но мне просто стало интересно что если их два или больше, то как узнать каким открылась форма. И опять же повторюсь права на таблицу на форме - пересечение прав на MenuItem и на таблицу. Самому строить пересечение мне не хочется, Аксапта же это делает сама, вот я и хотел как-то взять информацию об этом из формы. 1. создать ключ безопасности "Запретить то то и там то" 2. в нужном месте проверить какой доступ к этому ключу у пользователя и разрешить/запретить что надо при этом можно тоньше ограничивать пользователя. например разрешить полный домтуп к заказам типа Заказ и только чтение к заказам типа Контракт. Последний раз редактировалось raz; 15.02.2007 в 00:30. |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
Теги |
faq, безопасность, права доступа |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|