03.12.2011, 13:49 | #21 |
NavAx
|
Цитата:
Или просто на MenuItem данного отчета вешаем другой ключ. Или в коде отчета делаем проверку на ключ и закрываем его, если нет доступа. Есть масса вариантов что бы потратить ~4-9 часов более разумно. |
|
|
За это сообщение автора поблагодарили: gl00mie (2), Kabardian (1). |
03.12.2011, 18:19 | #22 |
Талантливый разгвоздяй
|
Цитата:
Сообщение от raz
А чего так долго? Открываем таблицу AccessRightList и удаляем там руками записи с именем MenuItem-а данного отчета (это если в компании принято давать права на объекты, а не на ключи доступа). Если права даны на ключи, то пишем job, который для групп с ключами, добавит запись с отключением доступа к отчету.
Или просто на MenuItem данного отчета вешаем другой ключ. Или в коде отчета делаем проверку на ключ и закрываем его, если нет доступа. Есть масса вариантов что бы потратить ~4-9 часов более разумно.
Используя подход описанный на Axaptapedia, написал джоб для массового отключения прав доступа к menuitem, чуть позже выложу его здесь. |
|
03.12.2011, 23:45 | #23 |
Участник
|
Используем на тех же объединенных кондитерах на DAX2009, например, чтобы понять, какие группы имеют доступ к объекту. Функционал крайне полезный. Выложу в понедельник проект для DAX2009.
Последний раз редактировалось Bega; 03.12.2011 в 23:56. |
|
05.12.2011, 08:09 | #24 |
Сам.AX
|
Цитата:
Поэтому не советую трогать AccessRightsList руками.
__________________
ѣ |
|
05.12.2011, 09:06 | #25 |
Участник
|
Вот проект для DAX2009 ru7.
SharedProject_OK001356.xpo |
|
|
За это сообщение автора поблагодарили: Logger (15). |
05.12.2011, 11:08 | #26 |
NavAx
|
|
|
05.12.2011, 11:23 | #27 |
Сам.AX
|
Ок, согласен.
Конкретно с отчетами этот вариант работает, но в общем случае, считаю, что не следует лезть в AccessRightsList.
__________________
ѣ |
|
06.12.2011, 22:30 | #28 |
Талантливый разгвоздяй
|
Цитата:
Сообщение от Kabardian
Спасибо за много разных и интересных вариантов :-), но были причины:
Использовал оттуда кусок кода для каждого сочетания группа + домен: X++: void disableMenuItems(SecurityKeySet _securitySet) { str name; AccessRecordType recordType; int idx; AccessType accessType; for (idx = 1; idx <= conLen(menuItems); idx++) { [name, recordType] = conpeek(menuItems, idx); accessType = _securitySet.menuItemAccess(name, recordType); if (accessType!= AccessType::NoAccess) { info(strFmt('%1:%2, %3', name, recordType, accessType)); _securitySet.menuItemAccess(name, recordType, AccessType::NoAccess); } } } Пока точная причина неизвестна, тем не менее решил предупредить, мало ли вдруг все-таки этот джоб виноват . Как выясню причину, сообщу. |
|
|
За это сообщение автора поблагодарили: Logger (1). |
09.04.2013, 11:18 | #29 |
Участник
|
Полезная штуковина! спасибо.
|
|
22.04.2013, 17:16 | #30 |
Участник
|
Очень полезно. Спасибо.
У нас стажер - Шилова Мария немного модифицировала форму. Добавила закладку, на которой видны и группы, и пользователи, имеющие доступ к объекту. Причем видно, по какой группе пользователь имеет какой доступ. А если выбранный объект – таблица, то можно посмотреть RLS’ы тоже по группам и пользователям. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (3), BSM_ (1). |
23.04.2013, 07:58 | #31 |
Участник
|
To LRA: А почему вкладка с пользователями доступна только при просмотре "Контроль доступа".
Форма должна открываться в каком-то контексте? Если просто её открыть из проекта то комбобокс для переключения просмотра не доступен и по умолчанию отображает "Главное меню". |
|
23.04.2013, 10:40 | #32 |
Участник
|
To S. Kuskov
У нас по умолчанию он отображает «Контроль доступа». Если быть более точным, то отображается последний выбор на форме SysUserGroupSecurity (Права групп пользователей) на закладке "Права доступа", поле "Просмотр". На нашей форме закрытие поля на редактирование связано со спецификой нашего функционала. |
|
24.04.2013, 13:50 | #33 |
Участник
|
Только сейчас заметил эту классную утилиту. У меня она после нажатия на кнопку "Установить" начинает долго что-то обрабатывать, но при нажатии CTRL+BREAK обработка прерывается, и права оказываются настроенными как надо.
|
|
24.01.2019, 10:09 | #34 |
Участник
|
Цитата:
Сообщение от Kabardian
Будьте предельно осторожны с джобом по ссылке! Последствия в моем случае:
Пока точная причина неизвестна, тем не менее решил предупредить, мало ли вдруг все-таки этот джоб виноват . Как выясню причину, сообщу. X++: xAccessRightsList::saveSecurityRights(securitySet.pack(), localGroup.Id, domain); Также для большинства табличек прописывается NoAccess. Как правило приводит к тому что лукапы не работают. Если написать так X++: xAccessRightsList::saveSecurityRights(securitySet.packTouched(), localGroup.Id, domain); |
|
|
За это сообщение автора поблагодарили: S.Kuskov (5). |