Untuk menentukan apakah pengunjung adalah tamu , kami menggunakan sesuatu seperti ini:
if ($user->guest) {
echo 'Hello, guest!';
}
Sekarang, jika saya ingin menentukan apakah pengunjung adalah Pengguna Super (Administrator) terdaftar atau tidak, apa kode untuk itu?
Saya memiliki beberapa file PHP eksternal yang saya tidak ingin dapat diakses oleh siapa pun kecuali SuperUsers dari Situs Joomla saya. Hanya mencoba mengamankan file dengan mengimpor Joomla CMS.
joomla-3.x
php
security
saibbyweb
sumber
sumber
Jawaban:
kode-kode ini akan menentukan apakah pengguna yang masuk saat ini adalah pengguna super atau tidak -
kode itu akan memeriksa apa yang dipetakan ke izin "Pengguna Super" dalam konfigurasi global dan tidak hanya pada tingkat komponen. Periksa sendiri dibandingkan dengan cara lain.
sumber
core.admin
lebih baik izin untuk memeriksa daripadacore.edit
.libraries/joomla/user/user.php
file. Ini yang ini:$iAmSuperAdmin = $my->authorise('core.admin');
Untuk menentukan status "Pengguna Super", Anda harus memeriksa
$user->isRoot
. Properti ini disetel setelah pemeriksaan otorisasi pertama dilakukan dan pengguna dideteksi sebagai super admin.Namun biasanya Anda memang lebih baik ingin memeriksa apakah pengguna memiliki izin tertentu seperti yang dijelaskan pada jawaban lain.
sumber
Coba ini,
Ini akan mengembalikan array, Secara default Joomla Admin pengguna Super admin (Grup 8) dan Administrator (Grup 7).
Anda dapat memeriksa array memiliki nilai-nilai ini maka itu harus menjadi pengguna Admin, Jika Anda membuat grup Pengguna Kustom maka Anda harus memeriksa
#__usergroups
parent Id
juga.Semoga ini bisa membantu ..
sumber
Anda dapat menggunakan kondisi untuk menolak siapa pun yang tidak berada dalam grup tertentu.
sumber
if(in_array(8, $user->groups))
dan itu berhasil untuk sayaCoba kode di bawah ini untuk memeriksa apakah pengguna login adalah admin super atau pengguna lain ...
sumber
$user->get('isRoot');
tidak bekerja untuk J3.6.2.Joomla @since 3.2, bidang UserGroupList menggunakan ini untuk memeriksa:
sumber