Vấn đề phân quyền trong Drupal 5.x và giải pháp |
|
|
|
I. Yêu cầu và hiện trạng thực tế của Drupal: - Mỗi nhóm user có các quyền khác nhau. - Mỗi user có thể có một hoặc nhiều roles. - User sẽ kế thừa quyền từ role mà họ gán. - Mỗi user quản trị có một level, level được chia từ thấp đến cao, level 1 là thấp nhất - Nếu 2 user có cùng một role thì user có level cao hơn thì sẽ có quyền lớn hơn. - User quản trị chỉ được tạo user mới hoặc phân quyền cho user có level thấp hơn trong giới quyền của role mà họ được cấp. 2. Hiện trạng:
Hình 1: Phân quyền user được xây dựng dựa trên role 2.1. Ưu điểm: - Đơn giản: Việc phân quyền theo role đơn giản do không phải phân quyền cho từng user. Tránh được sự nhầm lẫn và rắc rối khi muốn phân cùng một quyền cho nhiều user- Linh hoạt: Người quản trị có thể tạo thêm nhiều role được phân quyền khác nhau. - An toàn: User chỉ có quyền trong giới của role do đó không thể sử dụng được các quyền không thuộc role đó. 2.2. Khuyết điểm: Ví dụ: II. Kiểm tra: 2. test: user này tạo ra có quyền nằm trong roles test, role này có quyền như hình phía dưới. ![]() Hình 2: Role test được tạo mới
![]() Hình 3: Cấp quyền cho role test ![]() Hình 4 : User trên hệ thống
Tiến hành kiểm tra: Thoát khỏi user admin, và đăng nhập vào user test
Khi đăng nhập vào user test ta có màn hình sau:
Hình 5: Màn hình user test sau khi đăng nhập User test này có thể: 1. Tạo role mới
2. Thay đổi bất cứ user nào (kể cả admin) 3. Thay đổi quyền của từng role ![]() Hình 6: User test có thể thêm bất cứ một role nào mới với quyền mới
![]() Hình 7: User test có thể thay đổi bất kì thông tin nào của user nào trong hệ thống
![]() Hình 8: User test có thể thay đổi bất kì quyền trên bất cứ role nào.
III. Giải pháp
Hình 9: Phân quyền user được xây dựng dựa trên role và level Tái bút: Xin hỏi ai có giải pháp nào khác để giải quyết vấn đề trên? Bài viết này thực hiện bởi nhóm phát triển Drupal thuộc công ty ASALEO. SEO Việt Nam - Theo NguyenTienSi
|








Từ Khóa






Comments