Phân quyền người dùng
Phân quyền người dùng
Phân quyền nhằm trả lời các câu hỏi:
Người dùng nào? Được làm gì? Trên đối tượng
nào?
Tổ chức phân quyền trong ứng dụng web tr
lời 3 câu hỏi trên
Sự phức tạp của phân quyền người dùng
phụ thuộc
Qui mô của ứng dụng
Số lượng và loại (nhóm) người dùng
Trình độ và kinh nghiệm của người thiết kế phát
triển
2
Phân quyền người dùng
Tổ chức và kiểm tra người dùng dựa vào bảng
mô tả
3
Người dùng
/ Nhóm
Quyền Tài nguyên
/ Module
An, Hoa
Xem
Tin
An, Hoa
Thêm
Tin
An, Hoa
Sửa
Tin
An, Hoa
Xóa
Tin
An
Xem
Loại tin
An
Thêm
Loại tin
Phân quyền người dùng
Về tổ chức dữ liệu: cần 2 bảng người
dùngnhóm
Mỗi người dùng trong 1 hay nhiều nhóm
Mỗi nhóm
Diễn tả một hành động (xem, thêm, …) trên một loại tài
nguyên
Hoặc diễn tả khả năng quản lý dữ liệu theo module
(quản trị laptop, tin, quảng cáo, user)
Hoặc diễn tả theo phòng ban chức năng
Nhiều loại tài nguyên, ví dụ: loại tin, tin, …
Số lượng tài nguyên có cố định hay không
Quyền áp dụng cho nhóm hay từng tài nguyên
riêng lẻ
4
Phân quyền người dùng
Kiểm tra quyền
Được thực hiện đầu mọi trang php có nhu cầu
kiểm tra quyền
Code kiểm tra quyền đặt trong 1 file riêng, sau đó dùng
require
<?php
$kt = checkPermission([tham số]);
if($kt==false)
header(“location:login.php?m=„Access denied‟”);
?>
Hàm kiểm tra quyền dựa vào các group mà người
dùng đăng nhập là thành viên rồi tra trong bảng
Roles
Khi người dùng login, username và userid được
lưu trong session 5