Quyền truy cập trên PHP
Thông thường trên trang web không chỉ có một loại người dùng, mà có nhiều loại và tất cả họ đều có các quyền khác nhau. Ví dụ, bạn có thể có người dùng thông thường và quản trị viên. Quản trị viên sẽ có nhiều quyền hơn so với người dùng thông thường.
Cách thức triển khai điều này: chúng ta sẽ tạo trong
bảng người dùng một trường nữa, đặt tên là
status và cho mỗi người dùng
chúng ta sẽ lưu trạng thái của họ: giả sử cho quản trị viên
là từ 'admin', còn cho người dùng thông thường
- là từ 'user'.
Bây giờ khi xác thực người dùng, trong $_SESSION['status']
chúng ta sẽ ghi trạng thái người dùng từ cơ sở dữ liệu:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // ghi trạng thái
}
?>
Bây giờ giả sử trên trang web của chúng ta có một trang nào đó mà chỉ có quản trị viên mới có quyền truy cập. Chúng ta sẽ làm sao để chỉ quản trị viên mới thấy nội dung của trang này:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// hiển thị nội dung trang chỉ cho quản trị viên
}
?>