Как сделать так, чтобы на особого пользователя не распространялись права авторизированного пользователя?
Это нужно для того, чтобы у этого пользователя не отображалась реклама, ведь при выделении пользователей в блоке, даже если вы не поставили галочку напротив Администратора, ему все равно будет показываться этот блок, так как даже админ тоже является авторизированным пользователем. Как видно на скриншоте просто нажатием это не сделаешь, так как это поле серое.
Комментарии
Создать роль под рекламу..И показывать рекламу только ей
Когда создаешь новую роль, она автоматически становится авторизованым пользователем, на скриншоте я же показал, что этого не убрать. Так то я сразу так и делал, но это не работает, как я написал выше.
Вы пытаетесь зайти в комнату через окно не видя двери
И где дверь?
Можно например, так поступить:
1. Создать роль default_user, которой дать права на просмотр рекламы
2. Удалить права на просмотр рекламы у роли "Авторизованные пользователи"
3. Всем пользователям, кроме имеющих роль "VIP-пользователь", добавить роль default_user
Да такая идея была, однако я не нашел, как сделать так, чтобы все пользователи которые зарегистрировались становились default_user, иначе придется каждый раз всех новых пользователей вручную менять на default_user
Модули autoassignrole, registration_role позволяют установить дефолтные роли для новых пользователей. Также, можно настроить Rules.
Для уже созданных пользователей роль можно добавить программно ( упрощенно: запрос по пользователям, user_load(), добавить роль, user_save() ) или копать в сторону VBO