Есть два пользователя. Назовем их, например, SuperAdmin и SuperMegaAdmin. Оба имеют полный доступ ко всему что есть в админке и на сайте.
Внимание, уважаемые знатоки, вопрос. Как SuperAdmin'у запретить редактирование профиля SuperMegaAdmina, но при этом чтоб у него осталась возможность редактировать всех остальных пользователей?
Права второго Суперадмина
Версия MODX: Revolution
Комментарии (4)
Для добавления комментариев вы должны авторизоваться или зарегистрироваться.
Руслан Алеев 14.10.2016 02:50 #
Или можно поправить файлы движка, где будет проверка, например, по id админа, т.е. в выводе всех пользователей — не выводить пользователя-админа с id=2, если в админке залогинен пользователь-админ с id=1 и наоборот (таким образом они не увидят профилей друг друга и не смогут их изменить). Но править движок — затея не правильная.
p.s. Вообще у вас вопрос некорректный и отдает парадоксом, его можно перефразировать так: «Как мне создать админов с полным доступом, но которые не имеют полного доступа?» — что не есть правильно :)
unman64 14.10.2016 03:15 #
Если уточнить для Вашего p.s. То скорее звучит это так:
Есть админ, который является заказчиком сайта и его модератором. И есть я — веб-прогер создавший сайт за N-ую сумму эрэ. На сайте есть форум. Юзеры на форуме, это пользователи зареганые в определенную группу с определенными правами. Задача разрешить заказчику редактировать все (в том числе и юзеров на форуме), но чтоб он не мог редактировать или удалить меня.
з.ы. Можно было бы просто попросить не трогать профиль с таким-то именем, но как выяснилось заказчик… туп! Реально может просто по случайности снести, а потом говорить «ой, забыл...», «ой, перепутал...», «ой, не туда нажал...» итд)))
unman64 15.10.2016 07:44 #
В файле assets/modext/widgets/security/modx.panel.user.js добаляем после строки
следующее условие
А также в файле core/model/modx/processors/security/user/getlist.class.php изменяем функцию prepareRow на
В итоге пользователи у которых галка «неограниченные права» стоит, те видят всех. А те, у кого ее нет — не видят пользователей с ее наличием. Также, если у пользователя sudo=false, то и соответствующее поле вырезается везде из формы, кого бы он не редактировал.
Решение было бы интересно оформить в какой-то небольшой плагинчик, чтоб файлы системы не ковырять, но я не сильно вникал в логику и синтаксис их создания. Можт накидает кто побыстрому?
unman64 16.10.2016 04:33 #
Лучше бы конечно контейнер целиком удалить, но я хз как в ентом
ExtjASExtJS к parent элемента обращаться))