


PHP melaksanakan fungsi pengurusan hak pengguna dalam laman web soalan dan jawapan pengetahuan.
PHP melaksanakan fungsi pengurusan hak pengguna dalam laman web soal jawab ilmu
Dengan perkembangan Internet, laman web soal jawab ilmu telah bermunculan seperti cendawan selepas hujan. Tapak web Soal Jawab pengetahuan yang berjaya bukan sahaja perlu menyediakan kandungan Soal Jawab berkualiti tinggi, tetapi juga perlu mempunyai fungsi pengurusan hak pengguna yang lengkap. Artikel ini akan memperkenalkan cara melaksanakan fungsi ini melalui contoh kod PHP.
Dalam laman web soal jawab pengetahuan, pengguna biasanya dibahagikan kepada peranan yang berbeza, seperti pengguna biasa, pentadbir, pentadbir super, dll. Setiap peranan mempunyai kebenaran yang berbeza Contohnya, pengguna biasa hanya boleh bertanya dan menjawab soalan, manakala pentadbir juga boleh memadamkan soalan dan jawapan Pentadbir super mempunyai kebenaran tertinggi dan boleh mengurus pengguna.
Pertama, kita perlu mencipta pangkalan data dan mencipta jadual pengguna (pengguna) dan jadual peranan (peranan) dalam pangkalan data. Jadual pengguna merekodkan maklumat asas pengguna, termasuk nama pengguna, kata laluan, dsb. Jadual peranan merekodkan maklumat peranan, termasuk nama peranan dan kebenaran. Jadual pengguna dan jadual peranan berkaitan melalui kunci asing.
Berikut ialah contoh kod SQL untuk mencipta jadual pengguna (pengguna):
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, role_id INT, FOREIGN KEY (role_id) REFERENCES roles(id) );
Contoh kod SQL untuk mencipta jadual peranan (peranan):
CREATE TABLE roles ( id INT PRIMARY KEY AUTO_INCREMENT, role_name VARCHAR(50) NOT NULL, permission VARCHAR(255) );
Seterusnya, kita perlu menentukan fungsi untuk semakan kebenaran . Anda boleh mencipta fungsi yang dipanggil "checkPermission" yang menyemak sama ada pengguna mempunyai kebenaran tertentu. Berikut ialah contoh kod:
function checkPermission($userId, $permission) { // 根据用户ID查询用户角色 $role = $db->query("SELECT role_id FROM users WHERE id = $userId")->fetch_assoc(); // 根据角色ID查询角色权限 $rolePermission = $db->query("SELECT permission FROM roles WHERE id = {$role['role_id']}")->fetch_assoc(); // 检查用户是否具备该权限 $permissions = explode(',', $rolePermission['permission']); if (in_array($permission, $permissions)) { return true; } else { return false; } }
Dalam kod di atas, kami mula-mula menanyakan ID peranan yang menjadi milik pengguna berdasarkan ID pengguna, dan kemudian menanyakan kebenaran peranan berdasarkan ID peranan. Akhir sekali, kami menentukan sama ada pengguna mempunyai kebenaran dengan membandingkan kebenaran pengguna dengan kebenaran yang diperlukan.
Dalam logik perniagaan tertentu, seperti memadamkan soalan dan jawapan, kami boleh memanggil fungsi "checkPermission" untuk menyemak sama ada pengguna mempunyai kebenaran pemadaman sebelum melaksanakan operasi ini. Jika pengguna mempunyai kebenaran ini, operasi pemadaman boleh dilakukan jika tidak, pengguna digesa bahawa dia tidak mempunyai kebenaran.
Berikut ialah contoh kod untuk memadamkan soalan:
function deleteQuestion($questionId, $userId) { // 检查用户是否具备删除问题权限 if (checkPermission($userId, 'delete_question')) { // 执行删除操作 $db->query("DELETE FROM questions WHERE id = $questionId"); return true; } else { return false; } }
Dalam kod di atas, kami mula-mula memanggil fungsi "checkPermission" untuk menyemak sama ada pengguna mempunyai kebenaran untuk memadam soalan. Jika pengguna mempunyai kebenaran ini, lakukan operasi padam jika tidak, pulangkan palsu.
Dengan contoh kod PHP di atas, kami boleh melaksanakan fungsi pengurusan hak pengguna dalam laman web soal jawab pengetahuan. Dalam pembangunan khusus, kami boleh menentukan lebih banyak kebenaran dan peranan mengikut keperluan sebenar, dan memanggil fungsi semakan kebenaran dalam logik perniagaan khusus untuk kawalan kebenaran. Dengan cara ini, kami boleh memastikan bahawa hanya pengguna dengan kebenaran yang sesuai boleh melakukan beberapa operasi sensitif, meningkatkan keselamatan dan pengalaman pengguna tapak web.
Ringkasan:
Fungsi pengurusan hak pengguna dalam laman web soal jawab pengetahuan adalah bahagian yang sangat penting. Melaksanakan fungsi ini melalui PHP boleh memastikan bahawa hanya pengguna dengan kebenaran yang sesuai boleh melakukan beberapa operasi sensitif. Dalam pembangunan khusus, kita boleh belajar daripada contoh kod di atas dan mengembangkan serta mengubah suainya mengikut keperluan sebenar untuk memenuhi keperluan yang berbeza.
Atas ialah kandungan terperinci PHP melaksanakan fungsi pengurusan hak pengguna dalam laman web soalan dan jawapan pengetahuan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
