Tôi đã suy nghĩ về ứng dụng web Tôi sắp bắt đầu phát triển và tự hỏi liệu cách tiếp cận thông thường của tôi có thể được cải thiện hay không. Trong một vài ứng dụng gần đây của tôi, tôi đã tạo một bảng (xem bên dưới) các vai trò (chẳng hạn như CREATE POST
, EDIT POST
, v.v.) mỗi ứng dụng có một bitfield được áp dụng cho họ để tôi có thể chỉ định cho người dùng một số quyền nhất định trong đăng ký và kiểm tra chúng sau này (ví dụ: $user->hasRight(CREATE_POST)
).Tôi nên triển khai ACL của mình như thế nào trong một ứng dụng web?
Tôi tự hỏi liệu có cách tiếp cận tốt hơn cho điều này không. Nó chắc chắn khó hiểu khi các quyền không liên quan cụ thể đến người dùng (tôi có thể có một bảng mà mỗi bên phải là một cột boolean nhưng chỉ có vẻ như một cải tiến nhỏ) - và điều gì sẽ xảy ra nếu tôi thay đổi một số?
Tôi không muốn sử dụng thư viện chuẩn (bản thân ứng dụng là trải nghiệm học tập cho tôi: sử dụng postgresql, git, v.v.) mặc dù tôi rất vui khi lấy cảm hứng từ họ để xây dựng cho riêng mình - vì vậy nếu có một điều gì đó đặc biệt bạn nghĩ tôi nên xem xét xin vui lòng nói như vậy :)
Ngoài ra: nó sẽ dành cho một ứng dụng PHP nhưng nếu có một thực hành tuyệt vời được thực hiện trong nói, Ruby on Rails, tôi chắc chắn tôi có thể tìm ra :) – Ross