0
Tải bản đầy đủ (.docx) (67 trang)

Cấu hình trong cơ sở dữ liệu

Một phần của tài liệu XÂY DỰNG ỨNG DỤNG TRA CỨU THÔNG TIN CÁC KHÓA HỌC CHO MẠNG XÃ HỘI NGUỒN MỞ (Trang 54 -56 )

Chương 8: PHÂN QUYỀN TRUY CẬP TRONG DOLPHIN

8.1. Cấu hình trong cơ sở dữ liệu

- Để tạo một cấp độ thành viên mới, ta nên định nghĩa ra để dễ dàng thao tác trong các bảng dữ liệu, cụ thể như sau:

SET @iLevelNonMember := 1; SET @iLevelStandard := 2; SET @iLevelPromotion := 3; SET @iLevelCenter := 4;

- Trong Dolphin đã quy định trước 3 cấp độ thành viên, đó là:

o Khách (NonMember): có mã số là 1, là những người chưa đăng ký

thành viên trên mạng xã hội.

o Thành viên tiêu chuẩn (Standard): có mã số là 2, là những thành viên

đã đăng ký thành công trên mạng xã hội.

o Thành viên thăng tiến (Promotion): có mã số là 3, là những thành viên

- Trong trường hợp này, ta tạo thêm một cấp độ thành viên mới, đó Trung tâm

(Center).

- Để tạo một quyền cho một cấp độ thành viên, ta cần lưu ý 2 bảng sau trong cơ sở dữ liệu:

o Bảng “sys_acl_actions”:

Tên Kiểu dữ liệu Ý nghĩa

ID smallint Mã số quyền

Name varchar Tên của quyền

AddtionalParamName varchar Các tham số kèm theo (nếu có)

Bảng - Bảng lưu trữ tên các quyền

 Bảng “sys_acl_actions” lưu tất cả tên các quyền để thiết lập cho từng cấp độ thành viên.

 Ví dụ, quyền có tên là “course post add”, tức cho phép thêm khóa học mới, cần thêm vào cơ sở dữ liệu như sau:

INSERT INTO `sys_acl_actions` VALUES (NULL, 'course post add', NULL);

o Bảng “sys_acl_matrix”:

Tên Kiểu dữ liệu Ý nghĩa

IDLevel smallint Mã cấp độ thành viên IDAction smallint Mã số của quyền

AllowedCount smallint Cho phép đếm số lần sử dụng quyền AllowedPeriodLen smallint Cho phép tạo khoảng thời gian có hiệu lực AllowedPeriodStart smallint Cho phép tạo thời gian bắt đầu

Chương 7: Phân quyền truy cập trong Dolphin

 Ví dụ, với quyền “course post add” , tức thêm khóa học mới, quyền này chỉ cho phép “Center” sử dụng thì câu truy vấn tiếp theo sẽ như sau:

SET @iAction = (SELECT LAST_INSERT_ID());

INSERT INTO `sys_acl_matrix` (`IDLevel`, `IDAction`) VALUES (@iLevelCenter, @iAction);

- Vì vậy, câu truy vấn hoàn chỉnh cho quyền “course post add” sẽ như sau:

INSERT INTO `sys_acl_actions` VALUES (NULL, 'course post add', NULL);

SET @iAction = (SELECT LAST_INSERT_ID());

INSERT INTO `sys_acl_matrix` (`IDLevel`, `IDAction`) VALUES (@iLevelCenter, @iAction);

- Giả sử như có thêm 1 quyền nữa là “course post search” tức là tìm kiếm khóa học, quyền này cho phép tất cả các cấp độ thành viên đều có thể sử dụng, kể cả cấp độ thành viên Center, thì câu truy vấn sẽ như sau:

INSERT INTO `sys_acl_actions` VALUES (NULL, 'course post search', NULL);

SET @iAction = (SELECT LAST_INSERT_ID());

INSERT INTO `sys_acl_matrix` (`IDLevel`, `IDAction`) VALUES(@iLevelNonMember, @iAction), (@iLevelStandard, @iAction), (@iLevelPromotion, @iAction), (@iLevelCenter, @iAction);

Một phần của tài liệu XÂY DỰNG ỨNG DỤNG TRA CỨU THÔNG TIN CÁC KHÓA HỌC CHO MẠNG XÃ HỘI NGUỒN MỞ (Trang 54 -56 )

×