Điểm:0

Làm cách nào để cấp quyền truy cập vào các tệp riêng tư theo chương trình?

lá cờ us

Tôi đang làm việc với ý tưởng rằng tôi có thể sử dụng hook_file_download để cấp quyền truy cập vào các tệp riêng tư; nhưng có vẻ như cái móc này chỉ có thể được sử dụng để hạn chế quyền truy cập vào tệp chứ không phải để cấp quyền truy cập.

Tôi đã thấy đề xuất về các hook khác như file_access và file_access_alter; nhưng không cái nào trong số này tồn tại nữa.

Kevin avatar
lá cờ in
Nếu bạn không trả lại -1 cho các 'kiểm tra' khác nhau trong hook_file_download, về cơ bản đó không phải là cấp quyền truy cập sao? `Nếu người dùng không có quyền truy cập tệp, hãy trả về -1. Nếu người dùng có quyền, hãy trả về một mảng có tiêu đề thích hợp. `
liquidcms avatar
lá cờ us
Đối với câu hỏi đầu tiên của bạn, không, không phải cách nó hoạt động. Tất cả các mô-đun trả về kết quả để xây dựng mảng được kiểm tra bởi chức năng tải xuống trong lõi. Nếu bất kỳ mô-đun nào (như mô-đun tệp lõi) trả về -1; thì việc mô-đun tùy chỉnh của tôi trả về là gì không quan trọng vì đã có -1 trong mảng và điều đó khiến quyền truy cập bị từ chối. Vì vậy, như tôi đã nói ở trên, tôi có thể giới hạn quyền truy cập vào mã của mình; nhưng tôi không thể cấp nó.
lá cờ cn
Có, bạn có thể sử dụng nó để cấp quyền truy cập (theo tiêu đề như Kevin đã đề cập), nhưng bạn không thể sử dụng nó để bỏ qua/ghi đè quyết định từ chối truy cập rõ ràng của mô-đun khác. Hãy nhớ rằng các mô-đun có thể trả về `NULL` nếu chúng không quan tâm đến tệp, do đó, mọi quyết định từ chối rõ ràng phải được tôn trọng theo mặc định. Nếu bạn không tin tưởng hoặc không thể dựa vào việc ra quyết định của mô-đun khác, bạn có thể rút ngắn nó bằng cách triển khai hook_module_implements_alter để xóa hoàn toàn việc triển khai hook_file_download của mô-đun
liquidcms avatar
lá cờ us
Bạn không thể sử dụng hook này một cách rõ ràng để cấp quyền truy cập (như tôi đã nói). Từ chối được ưu tiên. Điều đó đang được nói, tôi nghĩ rằng tôi đang đi sai. Quyền truy cập tệp riêng tư được xác định bởi quyền truy cập của thực thể mà nó được đính kèm và đó là vấn đề. Tại sao khách hàng của tôi muốn cho phép truy cập vào tệp chứ không phải thực thể mà nó được đính kèm? Chúng tôi sẽ giải quyết yêu cầu đó. Tuy nhiên, nếu thực sự đúng như vậy, thì có một mô-đun cho phép truy cập theo vai trò vào các tệp riêng tư (nhưng vì những lý do đã nêu ở trên; nó có thể không hoạt động). Điều này sẽ mở ra cho nhiều người hơn mong muốn; nhưng sau đó hook có thể được sử dụng để hạn chế.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.