Мы создали сайт в Drupal 7, на котором мы хотели бы, чтобы определенные пользователи имели доступ к странице управления пользователями и могли создавать новых пользователей, назначать роли и т. Д., Но мы не хотим предоставлять им доступ к Роли и страницы разрешений.
В настоящее время Drupal имеет только 2 разрешения Administer Permissions
и Administer users
.
С Administer users
разрешения пользователь имеет доступ к странице управления пользователями и может создавать новых пользователей, но не может назначать роли пользователям.
Если у пользователя есть Administer permissions
разрешение, он может назначать роли пользователям, а также получать доступ к страницам управления разрешениями и ролями.
Как бы вы предоставили пользователю право назначать роли пользователям, но не позволяли ему получать доступ к странице разрешений?
Хммм ... Интересно, что, кажется, нет четкого способа сделать это. Кажется, это может быть общей чертой для людей. Я нашел пару решений:
http://drupal.org/project/protect_permissions - Однако, это еще не готово к производственному использованию.
Тем не менее, я думаю, что вы можете сделать то, что вы хотите с: http://drupal.org/project/permissions_lock
Вам также понадобится: http://drupal.org/project/user_permissions
Последнее, кажется, делает противоположное тому, что вы хотите, но первое, кажется, делает именно то, что вы хотите. Я не проверял ни одного из них на своем сайте разработчиков, чтобы убедиться, что это то, что вам подойдет. Если я найду что-нибудь еще, я обновлю этот ответ.
источник
Роль делегации оставляет дыру в безопасности. Вам нужно назначить людей для администрирования пользователей, чтобы они могли использовать страницу администрирования и имеющиеся у нее инструменты.
Но если вы это сделаете, то эту роль сможет редактировать даже суперадмин. Проверьте Осторожно разрешение администратора Drupal пользователей для полного описания.
Мое решение - делегирование ролей + этот хук
источник
В последнее время мы использовали модуль roleassign , который выполняет именно то, что вы просите. Он в основном идентичен модулю role_delegation, но может быть альтернативой, если вам нужно что-то немного другое.
Одним из ключевых отличий является то, как вы решаете, какие роли доступны для назначения. С roleassign вы просто выбираете, какие из них вы хотите сделать доступными, и он добавляет только одно новое разрешение для назначения этих ролей:
Модуль role_delegation, по-видимому, дает новое разрешение для каждой роли, существующей на сайте:
Модуль role_delegation также, по-видимому, почти в три раза превышает количество установок и «рекомендуемый» выпуск Drupal 8. Очередь вопросов также, кажется, в лучшей форме, так что это, вероятно, лучший вариант?
источник