Dalam komponen khusus saya, saya ingin dapat membatasi tampilan tertentu hanya pada grup pengguna tertentu. Jika saya membuat item menu untuk salah satu tampilan saya, itu cukup mudah dilakukan: Saya hanya memilih tingkat akses untuk item menu itu dan saya selesai.
Sekarang, masalahnya muncul jika seseorang mencoba mengakses langsung URL dengan opsi = com_mycomponent, atau pengalihan internal komponen saya pergi ke halaman tanpa Itemid yang ditugaskan ... dalam hal ini, itu adalah komponen itu sendiri yang perlu untuk memeriksa grup pengguna dan menentukan apakah ia dapat melihat halaman itu ... bagaimana saya bisa membatasi itu dalam kode saya? Hanya pemeriksaan hardcoded sederhana untuk grup pengguna pengguna? Atau ada cara "standar" untuk melakukannya?
Saya telah memeriksa dokumentasi, dan telah menemukan ini:
http://docs.joomla.org/J2.5:How_to_implement_actions_in_your_code Anda
tapi itu untuk apa yang bisa dilakukan pengguna, bukan untuk apa yang bisa dilihat pengguna. Saya juga menemukan utas forum ini:
http://forum.joomla.org/viewtopic.php?t=530721
kode di awal sudah cukup tua, tetapi pada akhirnya disarankan untuk menggunakan ini:
http://api.joomla.org/cms-3/classes/JUser.html#method_authorise
Bagaimana saya harus melanjutkan untuk itu? Haruskah saya mendefinisikan aset untuk objek utama yang dihasilkan oleh tampilan saya sehingga saya dapat menguji akses untuk itu dengan JUser?
Terima kasih sebelumnya.
sumber
Berikut kode yang harus Anda mulai dengan menunjukkan kepada Anda cara melihat grup apa yang digunakan pengguna.
sumber
Mungkin jawaban terlambat untuk pertanyaan ini. Tapi inilah yang saya gunakan:
Dalam file controller.php utama saya mengesampingkan fungsi tampilan sebagai berikut:
sumber