Хочу добавить способность регистрировать новых пользователей единственному пользователю регистратору.
Создана новая функциональная роль. Для входящих в эту роль пользователей открывается доступ к разделам Контакты и Пользователи Системы. И еще, запрещается доступ ко всем другим сущностям и спискам. Это сделано через ограничения в разделах «Права доступа на объекты» и «Права доступа на операции».
При создании нового пустого пользователя я назначил ему роль. Дальше был сделан вход под этим пользователем, доступ к просмотру и созданию в разделах у него есть.
Выбираю раздел «Пользователи системы», нажимаю «Создать» затем заполняю форму создания нового пользователя, нажал на кнопку «Сохранить» ...Но система не создает пользователя и в списке пользователей новый пользователь не появляется!!
Я могу с одним именем пользователя несколько раз создавать и ошибки повторного ввода не появляется.
Механизм самого создания работает. Я попробовал добавить организационную роль администраторов, например It-администратор, и успешно создается новый пользователь, список сам обновляется и дополняется.
У меня вопросы:
- Означает ли что доступ пользователя к кнопке «создать» дает право только просмотра списка?
- Система не показывает ошибку если пользователь не создается в виду каких-либо ограничений. Исправлено ли это в обновлениях системы?
Мне нужно узнать так ли решается эта задача или здесь ошибка.
Нравится
Подозреваю, что дело может быть именно в этом:
И еще, запрещается доступ ко всем другим сущностям и спискам.
Кроме упомянутых выше таблиц, нужны также контрагенты, с которыми связываются как контакты, так и пользователи, а также разные служебные таблицы, связанные с разделом пользователей и ролей: SysAdminUnit, SysUserInRole, SysAdminUnitInRole, таблицы папок для всех этих разделов, используемые вспомогательные справочники.
Если ошибки нет в интерфейсе, она может наблюдаться в более потаённых местах: посмотрите сообщения в консоли браузера, HTTP-запросы и ответы в Fiddler, SQL-запросы в профайлере БД, ошибки в текстовом файле Error.log для сайта /0/ за сегодня на веб-сервере.
Поскольку описанная ситуация возникла искусственно, маловероятно, что её ранее воспроизводили и исправляли. Но Вы всё же можете попробовать поднять в облаке бесплатную демку Studio версии 7.15, настроить права аналогично и проверить, как она себя ведёт.
Эта ФР была добавлена на доступ к операции CanManageUsers Управление списком пользователей. Для абсолютно новой ФР я присоединял доступ к операциям по одной штуке. Когда удалялся пользователь в консоли браузера Server Error HttpResponse(400) на вызове http://адрес.сервера/0/rest/AdministrationService/DeleteUser. При создании нового пользователя ошибки нет и действия не происходит.
Если ФР лишаю доступа к операции CanManageUsers тогда создание и удаление пользователя работают из под пользователя с ФР!
Но, конечно, без CanManageUsers список из пользователей системы не отображается. Как узнать подробности об ограниченной доступности AdministrationService/DeleteUser ?
Такое может быть, если Вы некорректно настроили права доступа для этой роли на таблицы, поля и операции. Более подробно, где именно не хватает, можно узнать, анализируя запросы и журналы ошибок в вышеуказанных местах.