21.03.2023, 15:43 | #1 |
Участник
|
AX 2012 R3 Ошибка проверки прав доступа при обработке Workflow
Здравствуйте.
AX 2012 R3 R3 CU 11 билд 6.3.4000.127 Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) При попытке назначить рабочий элемент Workflow некоторым пользователям Ax возникает ошибка проверки прав доступа. Цитата:
Не удается создать рабочий элемент. Недостаточно прав для пользователя annakoc.
(S)\Classes\SysWorkflowWorkItem\delegate 111 (S)\Classes\WorkflowWorkItem\delegateWorkItem 55 (C)\Classes\WorkflowStatusReassignWorkItem\run 5 (C)\Classes\WorkflowStatusReassignWorkItem\main 14 Большинство пользователей работают без ошибок. Ошибка возникает только для некоторых пользователей. Пользователь имеет полные права доступа (Системный администратор) Пользователь изначально был заведен в Active Directory и успешно работал. Затем ушел в декретный отпуск, учетная запись в AD при этом была заблокирована. После возврата из декрета запись в AD разблокировали. Но при работе с WF стала возникать ошибка проверки прав доступа. Если сделать проверку прав доступа из кода под этим пользователем - то результат успешный. Полный доступ. При назначении WF - ошибка проверки прав доступа. Ошибка воспроизводится стабильно. Права доступа проверяются в методе Цитата:
\Classes\SysWorkflowDocument\assert
Цитата:
result = runAs(user, classNum(SysWorkflowDocument), staticMethodStr(SysWorkflowDocument, assertAsUser), args);
Цитата:
\Classes\SysWorkflowDocument\assertMenuItem
Цитата:
ret = securityRights.menuItemAccessRight(_type == MenuItemType:: Display ? SecurableType::MenuItemDisplay : SecurableType::MenuItemAction, _name, '') > AccessRight::NoAccess;
При проверке прав ошибочного пользователя - до вызова этой хранимой процедуры дело не доходит. Видимо, ошибка на клиенте происходит раньше, до обращения к SQL. Ошибка происходит на клиенте, так как это видно при анализе событий Windows. Ошибок на АОС не возникает. В EventViewer на клиенте показывает ошибку 0xc0000005 Клиенты и АОСы все одной версии. Все возможные перезапуски, сбросы кэшей, удаление AUC файлов были сделаны. Пользователя в АХ пересоздавали. SID в AD и в AX одинаковый. Последний раз редактировалось ta_and; 21.03.2023 в 17:23. |
|
21.03.2023, 16:45 | #2 |
Участник
|
Пользователя пересоздать не пробовали? Или просто проверить, что у него правильный текущий SID из AD указан в аксапте
|
|
21.03.2023, 17:13 | #3 |
Участник
|
Пользователя в АХ пересоздавали.
SID в AD и в AX одинаковый. |
|
22.03.2023, 13:17 | #4 |
Участник
|
Случайно не может оказаться так, что в Workflow затесался другой меню айтем (_type = MenuItemType::Output), и имеется одноименный меню айтем типа Action, но с другими настройками доступа?
__________________
// no comments |
|
22.03.2023, 16:37 | #5 |
Участник
|
Цитата:
Дублирующих ми в ветках Output и Display нет. Для всех остальных пользователей кроме нескольких битых права доступа определяются успешно. |
|
Теги |
workflow, права доступа |
|
|