Rumah pembangunan bahagian belakang tutorial php Cara mengendalikan pengurusan hak pengguna dalam borang PHP

Cara mengendalikan pengurusan hak pengguna dalam borang PHP

Aug 10, 2023 pm 01:06 PM
php bentuk Pengurusan kebenaran

Cara mengendalikan pengurusan hak pengguna dalam borang PHP

Cara mengendalikan pengurusan hak pengguna dalam bentuk PHP

Dengan pembangunan aplikasi web yang berterusan, pengurusan hak pengguna adalah salah satu fungsi penting. Pengurusan hak pengguna boleh mengawal hak operasi pengguna dalam aplikasi dan memastikan keselamatan dan kesahihan data. Dalam bentuk PHP, pengurusan hak pengguna boleh dilaksanakan melalui beberapa kod mudah. Artikel ini akan memperkenalkan cara mengendalikan pengurusan hak pengguna dalam borang PHP dan memberikan contoh kod yang sepadan.

1. Definisi dan pengurusan peranan pengguna

Pertama sekali, mentakrif dan mengurus peranan pengguna ialah asas pengurusan hak pengguna. Kita boleh menggunakan jadual pangkalan data untuk menyimpan maklumat peranan pengguna, contohnya, mencipta jadual bernama "peranan". Medan dalam jadual boleh termasuk ID peranan (role_id), nama peranan (role_name), dsb.

Berikut ialah contoh kod penciptaan jadual "peranan":

CREATE TABLE roles (
    role_id INT PRIMARY KEY AUTO_INCREMENT,
    role_name VARCHAR(50) NOT NULL
);
Salin selepas log masuk

Semasa pendaftaran pengguna (atau bahagian belakang pentadbir), maklumat peranan perlu dimasukkan ke dalam jadual. Anda boleh menggunakan kod berikut untuk memasukkan beberapa maklumat peranan awal:

INSERT INTO roles (role_name)
VALUES ('admin'), ('editor'), ('viewer');
Salin selepas log masuk

2. Definisi dan pengurusan kebenaran pengguna

Kebenaran pengguna ialah perihalan khusus tentang operasi yang boleh dilakukan oleh peranan pengguna. Begitu juga, kita boleh menggunakan jadual pangkalan data untuk menyimpan maklumat kebenaran pengguna, seperti mencipta jadual bernama "kebenaran". Medan dalam jadual boleh termasuk ID kebenaran (id_izin), nama kebenaran (nama_izin), dsb.

Berikut ialah contoh kod penciptaan jadual "kebenaran":

CREATE TABLE permissions (
    permission_id INT PRIMARY KEY AUTO_INCREMENT,
    permission_name VARCHAR(50) NOT NULL
);
Salin selepas log masuk

Semasa pendaftaran pengguna (atau bahagian belakang pentadbir), maklumat kebenaran perlu dimasukkan ke dalam jadual. Anda boleh menggunakan kod berikut untuk memasukkan beberapa maklumat kebenaran awal:

INSERT INTO permissions (permission_name)
VALUES ('create'), ('read'), ('update'), ('delete');
Salin selepas log masuk

3. Perkaitan antara peranan pengguna dan kebenaran

Terdapat perkaitan antara peranan pengguna dan kebenaran, dan satu peranan boleh mempunyai berbilang kebenaran. Untuk mewujudkan perhubungan ini, kita boleh membuat jadual perantaraan bernama "role_permissions" untuk menyimpan maklumat perkaitan antara peranan dan kebenaran. Medan dalam jadual boleh termasuk ID peranan (role_id), ID kebenaran (permission_id), dsb.

Berikut ialah contoh kod penciptaan jadual perantaraan "role_permissions":

CREATE TABLE role_permissions (
    role_id INT,
    permission_id INT,
    FOREIGN KEY (role_id) REFERENCES roles(role_id),
    FOREIGN KEY (permission_id) REFERENCES permissions(permission_id)
);
Salin selepas log masuk

Semasa pendaftaran pengguna (atau bahagian belakang pentadbir), maklumat berkaitan peranan dan kebenaran pengguna perlu dimasukkan ke dalam jadual ini. Anda boleh menggunakan kod berikut untuk memasukkan beberapa maklumat awal yang berkaitan:

INSERT INTO role_permissions (role_id, permission_id)
VALUES (1, 1), (1, 2), (1, 3), (1, 4),
       (2, 2), (2, 3),
       (3, 2);
Salin selepas log masuk

4. Pengesahan kebenaran pengguna dalam pemprosesan borang

Semasa pemprosesan borang PHP, kami boleh mengesahkan kebenaran pengguna melalui langkah berikut:

  1. Dapatkan maklumat peranan pengguna yang sedang log masuk (status log masuk pengguna boleh disimpan melalui Sesi).
  2. Soal kebenaran yang dimiliki oleh pengguna berdasarkan maklumat peranan.
  3. Mengikut jenis operasi borang (seperti cipta, padam, dll.), semak sama ada operasi itu berada dalam senarai kebenaran pengguna.
  4. Tentukan sama ada untuk terus melaksanakan logik pemprosesan borang berikutnya berdasarkan keputusan pengesahan.

Berikut ialah contoh kod pengesahan kebenaran pengguna:

session_start();

// 模拟当前登录用户的角色信息
$user_role = 'editor';

// 根据角色信息查询用户拥有的权限
$query = "SELECT permissions.permission_name 
          FROM permissions 
          INNER JOIN role_permissions ON permissions.permission_id = role_permissions.permission_id 
          INNER JOIN roles ON role_permissions.role_id = roles.role_id 
          WHERE roles.role_name = '$user_role'";
$result = mysqli_query($connection, $query);

// 将用户权限列表保存到一个数组中
$user_permissions = array();
while ($row = mysqli_fetch_assoc($result)) {
    $user_permissions[] = $row['permission_name'];
}

// 检查表单操作是否在用户权限列表中
$form_action = $_POST['action']; // 表单中的操作类型
if (!in_array($form_action, $user_permissions)) {
    die('您没有权限执行该操作!');
}

// 继续执行后续的表单处理逻辑
// ...
Salin selepas log masuk

Melalui kod di atas, kami boleh melakukan pengesahan kebenaran ke atas operasi pengguna dalam borang PHP berdasarkan peranan pengguna dan maklumat kebenaran, dengan itu merealisasikan Fungsi pengurusan kebenaran pengguna .

Ringkasan:

Pengurusan hak pengguna ialah ciri penting dalam aplikasi web. Dengan mentakrif, mengurus dan mengaitkan peranan dan kebenaran pengguna, dan melaksanakan pengesahan kebenaran semasa pemprosesan borang, kami boleh mengawal kebenaran operasi pengguna dengan berkesan dan memastikan keselamatan dan kesahihan data. Contoh kod yang disediakan di atas boleh membantu anda melaksanakan pengurusan hak pengguna dalam borang PHP. Memahami dan menggunakan contoh kod ini akan memainkan peranan positif dalam pengurusan hak pengguna dalam aplikasi web anda.

Atas ialah kandungan terperinci Cara mengendalikan pengurusan hak pengguna dalam borang PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

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

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

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

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

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

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

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

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

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,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

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

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

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 Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

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.

See all articles