Bagaimana saya bisa membiarkan hanya node tertentu yang ditampilkan berdasarkan peran pengguna?
Pada dasarnya, saya tidak ingin mengizinkan node diakses oleh pengguna dari beberapa peran tertentu.
Bagaimana saya bisa membiarkan hanya node tertentu yang ditampilkan berdasarkan peran pengguna?
Pada dasarnya, saya tidak ingin mengizinkan node diakses oleh pengguna dari beberapa peran tertentu.
Jawaban:
Sudahkah Anda mencoba modul akses konten
Modul ini memungkinkan Anda untuk mengelola izin untuk jenis konten berdasarkan peran dan penulis. Ini memungkinkan Anda menentukan tampilan khusus, mengedit, dan menghapus izin untuk setiap jenis konten. Secara opsional, Anda dapat mengaktifkan per pengaturan akses konten, sehingga Anda dapat menyesuaikan akses untuk setiap node konten.
Apa yang Anda bicarakan adalah kontrol akses simpul Drupal, yang merupakan subjek besar.
Dukungan bawaan inti untuk kontrol akses node agak kasar, dan untuk mengontrol akses untuk melihat node berdasarkan peran, Anda harus menggunakan semacam modul kontrol akses node.
Ada halaman di Drupal.org yang mencantumkan semua modul akses simpul , dengan masing-masing ulasan kapsul. Saya sarankan Anda melihat halaman itu untuk melihat apakah Anda dapat menemukan modul yang cocok untuk mengontrol akses berdasarkan peran.
Ketika bekerja dengan kontrol akses, ada baiknya untuk memahami bagaimana modul kontrol akses Drupal benar-benar bekerja, berikut adalah deskripsi singkatnya:
Pengguna yang diberikan izin untuk mengelola node tidak pernah dibatasi oleh kontrol akses node. Pengguna yang tidak memiliki izin untuk Melihat konten yang diterbitkan tidak pernah dapat diberikan akses oleh modul akses node. Hanya pengguna yang memiliki 'akses konten' dan bukan 'kelola node' yang memenuhi syarat untuk dunia liar kontrol modul akses node.
Kontrol akses node di Drupal adalah sebagai tambahan aturan . Ini berarti bahwa setiap modul yang melakukan kontrol akses sesuai dengan "filosofi Drupal" seharusnya hanya mengizinkan akses, bukan menyangkalnya. Administrator yang ingin memperbaiki akses ke sebuah node harus terlebih dahulu memastikan tidak ada yang memiliki akses, dan kemudian menambahkan hibah akses kepada siapa pun yang akan memiliki akses.
Ini berarti bahwa mungkin agak rumit untuk membatasi akses ke individu dengan modul seperti Akses Konten , karena Anda harus mulai dengan menolak akses semua orang , dan kemudian menambahkannya kembali ke simpul yang tidak Anda inginkan dibatasi. Namun, saya pikir ini adalah pilihan terbaik jika Anda benar-benar perlu melakukannya simpul demi simpul. Resolusi utamanya adalah tipe konten, tetapi memungkinkan Anda untuk menimpanya untuk node tunggal.
Sayangnya, Anda tidak akan dapat menggunakan akses Tolak karena hanya berfungsi pada jenis konten, tanpa menimpa node individu.
NB: Menggunakan lebih dari satu modul akses node tidak dianjurkan.
Perhatikan bahwa jika Anda dapat mengubah persyaratan Anda sehingga Anda dapat menggunakan tipe konten sebagai unit dasar Anda untuk kontrol akses node, maka akses Tolak akan ideal. Misalnya, jika Anda memiliki peran "siswa" dan Anda ingin menolak akses ke node dengan jawaban, maka Anda dapat membuat tipe konten "Jawab" (yang hanya bisa menjadi klon dari "Artikel" default) dan akses Tolak akan hati-hati melindungi semua node dari jenis "Jawaban" agar tidak dilihat oleh peran "siswa".