Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] Permissions — yêu cầu nhiều quyền

    Kiểm tra nhiều quyền

    Một hành động yêu cầu user phải có TẤT CẢ các quyền trong danh sách yêu cầu. Quyền hỗ trợ ký tự đại diện: quyền * (hoặc <resource>:*) bao trùm. Cụ thể, user có quyền p thoả mãn yêu cầu q nếu: p === q, hoặc p === '*', hoặc p dạng r:* và q bắt đầu bằng r:.

    Cho:

    • Dòng 1: quyền của user (ngăn bởi khoảng trắng).
    • Dòng 2: quyền yêu cầu (ngăn bởi khoảng trắng).

    In ALLOW nếu user thoả MỌI quyền yêu cầu, ngược lại DENY.

    Ví dụ

    Input:
    post:* user:read
    post:edit post:delete
    Output: ALLOW
    
    • Định dạng đầu vào:

      Dòng 1: quyền user. Dòng 2: quyền yêu cầu.

    • Ràng buộc đầu vào:

      Wildcard * và <resource>:*.

    • Định dạng đầu ra:

      ALLOW hoặc DENY.

    Ví dụ:

    Đầu vào:

    post:* user:read
    post:edit post:delete

    Đầu ra:

    ALLOW

    Giải thích:

    'post:*' phủ cả post:edit và post:delete → ALLOW.

    Đang tải editor...