Thêm các quy tắc kinh doanh RBAC

Một phần của tài liệu Lập trình Drupal, Zend Framework, Yii Framework (Trang 45 - 46)

Mặc dù các bảng cơ sở dữ liệu trước đó sẽ tổ chức các thông tin cơ bản để trả lời các câu hỏi như liệu người dùng được giao cho một vai trò trong bối cảnh của một dự án cụ thể, chúng ta vẫn cần hệ thống phân cấp ủy quyền RBAC của chúng tôi để trả lời các câu hỏi liên quan đến user có quyền hay không thực hiện chức năng nhất định. Mặc dù mô hình RBAC trong Yii không thiết lập về các dự án TrackStar của chúng tôi, nó có một tính năng rất mạnh mẽ mà chúng ta có thể tận dụng lợi thế. Khi bạn tạo các ủy quyền hoặc phân công một mục cho người sử dụng, bạn có thể kết hợp một đoạn mã PHP sẽđược thực hiện gọi Yii:: app() -> user-> checkAccess (). Khi định nghĩa, bit của mã này phải trả lại true trước khi user được cấp phép.

Một ví dụ về tính hữu ích của tính năng này là trong bối cảnh của các ứng dụng cho phép người sử dụng để duy trì thông tin hồ sơ cá nhân. Thông thường trong trường hợp này, các ứng dụng muốn đảm bảo rằng một người sử dụng có sự cho phép cập nhật thông tin hồ sơ cá nhân của riêng mình và không ai khác. Trong trường hợp này chúng ta có thể tạo ra một mục ủy quyền được gọi là updateProfile, và sau đó kết hợp một quy tắc kinh doanh để kiểm tra xem ID của người sử dụng hiện tại cũng giống như ID người sử dụng kết hợp với thông tin hồ sơ.

Trong trường hợp này, chúng ta sẽ kết hợp một quy tắc kinh doanh với sự phân công vai trò. Khi chúng ta chỉđịnh một người sử dụng có một vai trò cụ thể, chúng ta cũng sẽ liên kết một quy tắc kinh doanh kiểm tra các mối quan hệ trong bối cảnh của dự án.

số bổ sung cho các quy tắc kinh doanh sử dụng để thực hiện logic của nó. Chúng tôi sẽ sử dụng điều này để vượt qua trong bối cảnh dự án hiện tại để các quy tắc kinh doanh có thể gọi một phương thức trên lớp các dự án AR để xác định có hay không sử dụng được giao cho vai trò đó trong dự án đó.

Nguyên tắc kinh doanh chúng ta sẽ tạo ra phân quyền cho từng vai trò khác nhau. Ví dụ một người dùng sau khi được phân quyền là owner (bản

Một phần của tài liệu Lập trình Drupal, Zend Framework, Yii Framework (Trang 45 - 46)

Tải bản đầy đủ (PDF)

(78 trang)