|
21.09.2010, 13:06 | #1 |
Участник
|
права на кнопку
Добавлена кнопка(именно button), на стандартной форме . К кнопке привязан ключ LedgerMisc и к MenuItemу, вызывающему форму, тоже. Можно ли как-нибудь сделать так, чтобы по умолчанию доступа к кнопке не было у юзеров, даже если есть все права на ключ LedgerMisc. То есть чтобы кнопка была доступка если только дали явно доступ к кнопке через Настройку прав доступа.
Я пока вижу либо создание нового ключа и повесить его на эту кнопку (но мы стараемся не создавать новых ключей , тем более ради одной кнопки), либо кодить - искать по пользователю, даны ли ему права на кнопку. Есть альтернативные варианты? Может, стоит создать отдельную группу пользователей и запихнуть ее в настройки и проверять пользователей на принадлежность ей? Чем такой вариант лучше, чем создание ключа отдельного. |
|
21.09.2010, 13:33 | #2 |
Участник
|
Почему кнопка (именно button), а не menuitem?
Все зависит от подхода настройки прав доступа. Я предпочитаю всё отключать, и только нужное разрешать. Поэтому, как правило, на самих ключах доступа прав не бывает.
__________________
Ivanhoe as is.. |
|
21.09.2010, 14:46 | #3 |
Участник
|
почему button - вопрос риторический... но в данном случае, вроде, не должно играть особой роли, тк хоть это и не стандартный подход, но аксапта позволяет ключ повесить на нее и в дереве настройки прав доступа кнопки отображаются.
|
|
21.09.2010, 16:29 | #4 |
Administrator
|
Именно это как раз и играет роль. Сделайте MenuItemButton и будет счастье. С ключом - не заморачивайтесь - считайте - что ключи нужны исключительно для группировки объектов, на которые дается доступ. Я конечно утрирую и, безусловно, можно и нужно менять доступ на ключах у ряда пользователей. Но в данном случае (при выборе между button и menuitembutton) представьте себе - что на ключах доступ менять нельзя.
__________________
Возможно сделать все. Вопрос времени |
|
21.09.2010, 21:22 | #5 |
Участник
|
Цитата:
Сообщение от sukhanchik
Именно это как раз и играет роль. Сделайте MenuItemButton и будет счастье. С ключом - не заморачивайтесь - считайте - что ключи нужны исключительно для группировки объектов, на которые дается доступ. Я конечно утрирую и, безусловно, можно и нужно менять доступ на ключах у ряда пользователей. Но в данном случае (при выборе между button и menuitembutton) представьте себе - что на ключах доступ менять нельзя.
Последний раз редактировалось IKA; 21.09.2010 в 21:29. |
|
21.09.2010, 21:34 | #6 |
Administrator
|
Цитата:
Цитата:
Сообщение от vallys
Посмотреть/изменить права для конкретного объекта возможно (с ньюансами) с помощью формы от Raven Melancholic: установка прав
Кстати - если у Вас количество групп пользователей сопоставимо с количеством пользователей или превышает их - то разумнее каждому пользователю сопоставить свою индивидуальную группу. Упростите себе работу по настройке прав.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 21.09.2010 в 21:40. |
|
21.09.2010, 17:38 | #7 |
Developer
|
Цитата:
Посмотреть/изменить права для конкретного объекта возможно (с ньюансами) с помощью формы от Raven Melancholic: установка прав Права лежат в таблицах AccessRightsList, SysSecurityFormTable, SysSecurityFormControlTable. Работа с AccessRightsList через классы, как указано в примере тут или напрямую. С SysSecurityFormTable, SysSecurityFormControlTable - через класс SysSecurityFormSetup. P.S. SysSecurityFormTable + SysSecurityFormControlTable - права для контролов форм. AccessRightsList - для всего остального. Последний раз редактировалось vallys; 21.09.2010 в 17:59. |
|
21.09.2010, 18:00 | #8 |
Administrator
|
Цитата:
Но наследование можно разорвать, изменив уровень доступа вручную. В этом случае в таблице AccessRightsList создастся запись, относящаяся к данному элементу. В этом случае изменение доступа к ключу не повлияет на уровень доступа к элементу (пункту меню, таблице). К сожалению, есть примеры, когда на ключ вешают контрольки или само меню - в результате чего - невозможно пользоваться функционалом без включения самого ключа. Но в целом этим не пользуются.
__________________
Возможно сделать все. Вопрос времени |
|
21.09.2010, 18:12 | #9 |
Developer
|
Цитата:
Да. Именно потому что для новых объектов нет записей в AccessRightsList - для них используются права соответсвующего ключа доступа, если таковые имеются. Последний раз редактировалось vallys; 21.09.2010 в 18:25. |
|
22.09.2010, 10:22 | #10 |
Участник
|
Эх, как часто приходится встречаться с таким подходом: сделали изначально неверно (по незнанию, ошибке или еще почему), а потому всеми силами держаться за это решение, плодя проблемы и ошибки, ставя костыли.
По прошествии времени, уже поработав в системе, думаю, знаете все свои проблемы по настройке прав доступа и указанная задача - вряд ли последняя по этой теме. Мой совет: признайте проблему, найдите ресурсы и сделайте настройку прав доступа по-нормальному. Тем более что это намного проще, чем делать реинжиниринг процессов или перевнедрение. Разработайте правила выделения групп и их настройки, привидите доработки к стандартному виду - настройка прав доступа ТОЛЬКО через меню-айтемы. Не давайте, по возможности, права на сами ключи - только на объекты, к ним привязанные. Введите регламенты настройки - кто и на основании каких документов вносит изменения в права / назначает права пользователям, как выполняются доработки (с учетом назначения прав), в каких документах описаны правила управления доступом и т.п.
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: sukhanchik (5), gl00mie (7). |