Показаны различия между двумя версиями страницы.
axapta:безопасность [2018/04/13 22:43] |
axapta:безопасность [2018/04/13 22:43] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | Раздел: | ||
+ | ---- | ||
+ | Здесь собираются сведения по поводу системы безопасности в Axapta | ||
+ | [[ДоступНаУровнеЗаписей]] | ||
+ | |||
+ | [[КакПрограммноИзменитьПароль]] | ||
+ | |||
+ | ----- | ||
+ | |||
+ | 1. Форма раздачи прав несет в себе лишь ту бяку - что при первом просмотре дерева права грузятся в память, | ||
+ | |||
+ | 2. Бэкап таблиц "" | ||
+ | Модифицируется экспорт/ | ||
+ | Файлы, в которых сохранены права - можно хранить в сейфе | ||
+ | |||
+ | 3. Упаси Бог изменять права в трехуровневой конфигурации. Аксапта сохраняет права по принципу кто последний вышел из нее - тот и прав. А если вы настроили права, а после этого другой юзер вышел - можете смело считать свою работу напрасной. При импорте прав (т.е. изменении данных в табличках) - крайне нежелательно вообще иметь АОС под рукой.... Ибо его наличие аккурат приводит к глюкам, | ||
+ | ---- | ||
+ | Пользователю можно сбросить пароль, | ||
+ | |||
+ | [[AxForum: | ||
+ | |||
+ | [[AxForum: | ||
+ | ---- | ||
+ | Данный джоб выводит в InfoLog перечень групп, которым доступны зданные пункты меню (контейнер menuItems) | ||
+ | <code xpp> | ||
+ | static void Test_AccessibleForWho(Args _args) | ||
+ | { | ||
+ | SecurityKeySet secSet; | ||
+ | UserGroupInfo userGroup; | ||
+ | DomainInfo domain; | ||
+ | str items; | ||
+ | container menuItems = [ | ||
+ | [menuItemDisplayStr(InventTable), | ||
+ | [menuItemDisplayStr(LedgerTable), | ||
+ | ]; | ||
+ | str accessibleMenuItems() | ||
+ | { | ||
+ | int i; | ||
+ | MenuItemName name; | ||
+ | AccessRecordType type; | ||
+ | str ret; | ||
+ | ; | ||
+ | for (i=1; i< | ||
+ | { | ||
+ | [name, type] = conPeek(menuItems, | ||
+ | if (secSet.menuItemAccess(name, | ||
+ | { | ||
+ | if (ret) | ||
+ | ret += ', '; | ||
+ | ret += SysDictMenu:: | ||
+ | (type == AccessRecordType:: | ||
+ | MenuItemType:: | ||
+ | ).label(); | ||
+ | } | ||
+ | } | ||
+ | return ret; | ||
+ | } | ||
+ | ; | ||
+ | while select userGroup | ||
+ | { | ||
+ | while select domain | ||
+ | { | ||
+ | secSet | ||
+ | secSet.loadGroupRights(userGroup.id, | ||
+ | items = accessibleMenuItems(); | ||
+ | if (items) | ||
+ | { | ||
+ | info(strFmt(' | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ |