Làm thế nào để gán quyền dựa trên điểm người dùng?


7

Tôi đang xây dựng một trang web nơi người dùng được cấp quyền tương tự như SO. Tôi đang làm việc với hai mô hình.

Mô hình đầu tiên gán vai trò cho người dùng dựa trên điểm. Tôi có thể có thể sử dụng Quy tắc hoặc xây dựng một mô-đun cho điều đó. Điều tuyệt vời ở đây là tôi có thể sử dụng hệ thống cấp phép xây dựng của Drupal. Nhược điểm là tôi có thể phải thiết lập các vai trò +10 và thêm nhiều hơn nữa nếu tôi muốn cấp quyền mới.

Mô hình thứ hai dựa trên mô-đun xây dựng tùy chỉnh (không phải xây dựng) để kiểm tra xem người dùng có được phép làm bất cứ điều gì anh ta / cô ta dự định làm không. Theo cách này, tất cả các vai trò đều có thể tránh được, nhưng nó không sử dụng hệ thống cấp phép của Drupal, điều này khiến tôi hơi khó chịu. Mặt khác, không cần nhiều vai trò.

Vì vậy, có một hiệu suất đánh vào việc có nhiều vai trò? Những vấn đề khác?

Bất cứ suy nghĩ về điều này? Các cách tiếp cận khác để cung cấp cho người dùng quyền dựa trên điểm người dùng?


Câu trả lời:


5

Sử dụng vai trò.

Vấn đề duy nhất với hơn 10 vai trò là bảng cấp phép của bạn sẽ trở nên rất lớn nhưng bạn có thể giải quyết vấn đề này bằng cách giới hạn nó cho mỗi vai trò (xem liên kết trên danh sách vai trò) hoặc sử dụng mô-đun như quyền nhanh hơn.

Việc tải các vai trò có khả năng nhanh hơn nhiều so với thực hiện kiểm tra tùy chỉnh. Ngoài ra, khi làm một cái gì đó như thế này, chắc chắn bạn sẽ gặp vấn đề, ví dụ như khi cố gắng làm việc xung quanh kiểm tra quyền hiện có trong các mô-đun, v.v. Hệ thống cấp phép là một trong những yếu tố cốt lõi của Drupal. Sử dụng nó và đừng cố gắng chống lại nó. Điều đó sẽ không đi làm.

Có một mô-đun Vai trò người dùng trong http://drupal.org/project/userpoint_contrib , cho phép bạn định cấu hình số lượng điểm người dùng yêu cầu cho một vai trò nhất định và nó sẽ hoạt động. Thậm chí có một vài bài kiểm tra bây giờ. Lưu ý rằng hiện tại nó cung cấp cho bạn tất cả các quyền mà người dùng có đủ điểm. Đây có thể không phải là những gì bạn mong đợi nhưng nó có lợi thế là nó chỉ đủ để chỉ định các quyền bổ sung mà mỗi vai trò có.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.