Rumah >pangkalan data >tutorial mysql >Panduan Pembangunan PHP: Melaksanakan Fungsi Kawalan Kebenaran Peranan Mudah

Panduan Pembangunan PHP: Melaksanakan Fungsi Kawalan Kebenaran Peranan Mudah

PHPz
PHPzasal
2023-07-03 11:01:481027semak imbas

Panduan Pembangunan PHP: Melaksanakan Fungsi Kawalan Kebenaran Peranan Mudah

Pengenalan:
Dalam laman web atau aplikasi, kawalan kebenaran peranan adalah fungsi penting. Melalui kawalan kebenaran peranan, anda boleh mengehadkan kebenaran pengendalian pengguna tertentu dalam sistem, dengan itu meningkatkan keselamatan dan kredibiliti sistem. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi kawalan kebenaran peranan mudah.

  1. Buat jadual pangkalan data

Pertama, kita perlu mencipta jadual pangkalan data untuk menyimpan maklumat pengguna dan maklumat peranan. Berikut ialah struktur jadual sampel:

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `role` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. Tambah pengguna dan peranan

Tambah rekod pengguna dan peranan dalam pangkalan data. Beberapa sampel data boleh digunakan:

INSERT INTO `users` (`id`, `username`, `password`, `role`)
VALUES
(1, 'admin', 'admin_password', 'admin'),
(2, 'user', 'user_password', 'user');
  1. Pengesahan Log Masuk

Dalam halaman log masuk, pengguna perlu memberikan nama pengguna dan kata laluan dan membandingkannya dengan rekod dalam pangkalan data. Jika nama pengguna dan kata laluan sepadan, simpan peranan pengguna dalam sesi:

<?php
session_start();

// 用户提交的用户名和密码
$username = $_POST['username'];
$password = $_POST['password'];

// 数据库查询语句
$sql = "SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$password'";
$result = mysqli_query($connection, $sql);

// 检查查询结果
if (mysqli_num_rows($result) == 1) {
  $row = mysqli_fetch_assoc($result);
  
  // 将用户的角色保存在会话中
  $_SESSION['role'] = $row['role'];
  
  // 跳转到首页或其他有权限访问的页面
  header('Location: index.php');
} else {
  // 用户名和密码不匹配,显示错误信息
  echo '用户名或密码错误';
}
?>
  1. Pengesahan kebenaran

Dalam setiap halaman yang memerlukan pengesahan kebenaran, kami perlu menyemak sama ada peranan pengguna mempunyai akses kepada kebenaran halaman. Berikut adalah contoh:

<?php
session_start();

// 检查用户是否登录,如果未登录则跳转到登录页面
if (!isset($_SESSION['role'])) {
  header('Location: login.php');
  exit();
}

// 获取用户的角色
$role = $_SESSION['role'];

// 检查角色是否具有访问该页面的权限
if ($role != 'admin') {
  echo '抱歉,您无权访问该页面';
  exit();
}

// 以下是页面的正常内容
?>

Kesimpulan:
Melalui langkah di atas, kami berjaya melaksanakan fungsi kawalan kebenaran peranan yang mudah. Dengan menyimpan maklumat pengguna dan peranan dalam jadual pangkalan data, serta kod PHP untuk log masuk dan pengesahan kebenaran, kami boleh melindungi keselamatan dan kredibiliti sistem dengan berkesan. Sudah tentu, terdapat skim kawalan kebenaran yang lebih kompleks dan fleksibel yang boleh digunakan dalam pembangunan sebenar, tetapi contoh yang diberikan dalam artikel ini sudah cukup untuk membantu kami memulakan dan memahami prinsip asas dan pelaksanaan kawalan kebenaran peranan.

Rujukan:

  • Manual PHP: https://www.php.net/manual/en/
  • Tutorial PHP W3Schools: https://www.w3schools.com/php/

Atas ialah kandungan terperinci Panduan Pembangunan PHP: Melaksanakan Fungsi Kawalan Kebenaran Peranan Mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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