Kami telah menyiapkan situs di Drupal 7 di mana kami ingin pengguna tertentu memiliki akses ke halaman manajemen pengguna, dan dapat membuat pengguna baru, menetapkan peran, dll., Tetapi kami tidak ingin memberi mereka akses ke Halaman Peran dan Izin.
Saat ini Drupal hanya memiliki 2 izin Administer Permissions
dan Administer users
.
Dengan Administer users
izin, pengguna memiliki akses ke halaman Manajemen Pengguna, dan dapat membuat pengguna baru tetapi tidak dapat menetapkan peran kepada pengguna.
Jika pengguna memiliki Administer permissions
izin, ia dapat menetapkan peran kepada pengguna dan juga akses ke halaman izin dan peran manajemen.
Bagaimana Anda memberi pengguna hak untuk menetapkan peran kepada pengguna, tetapi mencegahnya mengakses halaman izin?
Hmmm ... Menarik bahwa tampaknya tidak ada cara yang jelas untuk melakukan ini. Sepertinya ini bisa menjadi fitur umum bagi orang-orang. Saya menemukan beberapa solusi:
http://drupal.org/project/protect_permissions - Namun, ini belum siap untuk penggunaan produksi.
Namun, saya pikir Anda dapat mencapai apa yang Anda inginkan dengan: http://drupal.org/project/permissions_lock
Anda juga perlu: http://drupal.org/project/user_permissions
Yang belakangan tampaknya melakukan kebalikan dari apa yang Anda inginkan tetapi yang pertama tampaknya melakukan persis apa yang Anda inginkan. Saya belum menguji salah satu dari ini di situs dev saya untuk memastikan 100% ini yang akan bekerja untuk Anda. Jika saya menemukan hal lain, saya akan memperbarui jawaban ini.
sumber
Delegasi peran meninggalkan lubang keamanan. Anda perlu menetapkan orang pengguna pengguna agar mereka dapat menggunakan halaman administrasi dan alat-alat yang dimilikinya.
Tetapi jika Anda melakukannya, maka peran itu akan dapat mengedit bahkan superadmin. Lihat Waspadai izin pengguna Drupal Administer untuk deskripsi lengkap.
Solusi saya adalah delegasi peran + kail ini
sumber
Akhir-akhir ini kami telah menggunakan modul roleassign , yang melakukan persis seperti yang Anda minta. Ini pada dasarnya identik dengan modul role_delegation, tetapi bisa menjadi alternatif jika Anda membutuhkan sesuatu yang sedikit berbeda.
Satu perbedaan utama adalah bagaimana Anda memutuskan peran mana yang tersedia untuk ditugaskan. Dengan roleassign, Anda tinggal memilih mana yang ingin Anda sediakan, dan itu hanya menambahkan satu izin baru untuk menetapkan peran tersebut:
Modul role_delegation muncul untuk memberikan izin baru untuk setiap peran yang ada di situs:
Modul role_delegation juga tampaknya memiliki hampir tiga kali lipat jumlah instalasi, dan rilis Drupal 8 yang "direkomendasikan". Masalah antrian juga tampaknya dalam kondisi yang lebih baik, jadi mungkin itu pilihan yang lebih baik?
sumber