


Cara melaksanakan pengurusan hak pengguna dengan PHP dan UniApp
Cara PHP dan UniApp melaksanakan pengurusan hak pengguna
Dalam pembangunan web, pengurusan hak pengguna ialah fungsi yang sangat penting. Ia boleh mengawal hak akses pengguna kepada fungsi dan sumber yang berbeza dalam sistem dan memastikan keselamatan dan integriti sistem. Artikel ini akan memperkenalkan cara menggunakan PHP dan UniApp untuk melaksanakan pengurusan hak pengguna, dengan contoh kod yang sepadan.
1. Reka bentuk pangkalan data
Sebelum kita mula, kita perlu mereka bentuk pangkalan data untuk menyimpan maklumat berkaitan pengguna dan kebenaran. Berikut ialah reka bentuk pangkalan data yang ringkas:
- Jadual pengguna (pengguna): digunakan untuk menyimpan maklumat asas pengguna, termasuk ID pengguna, nama pengguna, kata laluan, dsb.
- Jadual peranan (peranan): digunakan untuk menyimpan maklumat peranan, termasuk ID peranan, nama peranan, dsb.
- Jadual kebenaran (kebenaran): digunakan untuk menyimpan maklumat kebenaran fungsi dan sumber dalam sistem, termasuk ID kebenaran, nama kebenaran, dsb.
- Jadual perkaitan peranan pengguna (peranan_pengguna): digunakan untuk mewujudkan perkaitan antara pengguna dan peranan.
- Jadual persatuan kebenaran peranan (permission_permission): digunakan untuk mewujudkan perkaitan antara peranan dan kebenaran.
2. Pelaksanaan bahagian belakang PHP
- Pengesahan log masuk pengguna
Apabila pengguna log masuk, kami perlu mengesahkan sama ada nama pengguna dan kata laluan pengguna adalah betul. Berikut ialah contoh kod pengesahan log masuk mudah:
<?php // 获取用户提交的用户名和密码 $username = $_POST['username']; $password = $_POST['password']; // 查询数据库验证用户信息 $query = "SELECT * FROM user WHERE username='$username' AND password='$password'"; $result = mysqli_query($connection, $query); // 如果查询结果有一条记录,则登录成功;否则登录失败 if (mysqli_num_rows($result) == 1) { // 登录成功,生成并返回一个token给客户端 $token = generateToken($username); echo json_encode(['status' => 'success', 'token' => $token]); } else { // 登录失败 echo json_encode(['status' => 'failed', 'message' => 'Invalid username or password']); } ?>
- Pengesahan kebenaran pengguna
Apabila mengesahkan kebenaran pengguna, kami perlu mencari kebenaran yang sepadan berdasarkan peranan pengguna. Berikut ialah contoh kod pengesahan kebenaran mudah:
<?php // 获取用户提交的token和权限id $token = $_POST['token']; $permissionId = $_POST['permissionId']; // 验证token是否有效 if (validateToken($token)) { // 查询用户对应的角色 $query = "SELECT role_id FROM user_role WHERE user_id='$userId'"; $result = mysqli_query($connection, $query); $roleIds = mysqli_fetch_all($result, MYSQLI_ASSOC); // 查询角色对应的权限 $query = "SELECT * FROM role_permission WHERE role_id IN (" . implode(',', $roleIds) . ")"; $result = mysqli_query($connection, $query); $permissions = mysqli_fetch_all($result, MYSQLI_ASSOC); // 验证用户是否具有该权限 $hasPermission = false; foreach ($permissions as $permission) { if ($permission['permission_id'] == $permissionId) { $hasPermission = true; break; } } // 返回验证结果给客户端 echo json_encode(['hasPermission' => $hasPermission]); } else { // token无效 echo json_encode(['hasPermission' => false]); } ?>
3. Pelaksanaan bahagian hadapan UniApp
- Halaman log masuk pengguna
Pada halaman log masuk pengguna, kami perlu menghantar nama pengguna dan kata laluan yang dimasukkan oleh pengguna ke bahagian belakang untuk pengesahan, dan dapatkan token yang dikembalikan. Berikut ialah contoh kod halaman log masuk yang mudah:
<template> <view> <input v-model="username" type="text" placeholder="Username" /> <input v-model="password" type="password" placeholder="Password" /> <button @click="login">Login</button> </view> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { login() { // 发送登录请求给后端 uni.request({ url: '/api/login.php', method: 'POST', data: { username: this.username, password: this.password }, success: (res) => { if (res.data.status === 'success') { // 登录成功,保存token到本地 uni.setStorageSync('token', res.data.token); uni.navigateTo({ url: '/pages/home/home' }); } else { // 登录失败,提示错误信息 uni.showToast({ title: res.data.message, icon: 'none' }); } } }); } } } </script>
- Pengesahan kebenaran
Pada halaman yang perlu mengesahkan kebenaran pengguna, kami perlu menghantar token dan ID kebenaran pengguna ke bahagian belakang untuk pengesahan. Berikut ialah contoh kod pengesahan kebenaran mudah:
export default { data() { return { hasPermission: false } }, mounted() { // 发送权限验证请求给后端 uni.request({ url: '/api/validatePermission.php', method: 'POST', data: { token: uni.getStorageSync('token'), permissionId: 1 // 需要验证的权限ID }, success: (res) => { this.hasPermission = res.data.hasPermission; } }); } }
Melalui kaedah di atas, kami boleh melaksanakan fungsi pengurusan kebenaran pengguna berdasarkan PHP dan UniApp. Apabila pengguna log masuk, kami mengesahkan nama pengguna dan kata laluan pengguna dan menjana token untuk kembali kepada klien. Pelanggan menyimpan token secara tempatan dan menghantarnya ke bahagian belakang untuk pengesahan di mana kebenaran pengesahan diperlukan. Bahagian belakang mencari peranan dan kebenaran yang sepadan dengan pengguna berdasarkan token dan mengembalikan hasil pengesahan kebenaran kepada pelanggan.
Saya harap artikel ini dapat membantu anda memahami cara PHP dan UniApp melaksanakan pengurusan hak pengguna. Sudah tentu, mungkin terdapat keperluan yang lebih kompleks dalam projek sebenar, tetapi idea terasnya adalah sama. Selagi kami mengikut reka bentuk pangkalan data yang baik dan logik kod yang munasabah, kami boleh melaksanakan sistem pengurusan hak pengguna yang selamat dan boleh dipercayai.
Atas ialah kandungan terperinci Cara melaksanakan pengurusan hak pengguna dengan PHP dan UniApp. 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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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

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

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

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

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

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.
