Nhật ký công việc cho nhiệm vụ "Thêm nút chỉnh sửa sản phẩm nhanh"
Đã hoàn thành triển khai
Nút chỉnh sửa sản phẩm nhanh và thanh công cụ quản trị (toolbar) đã được triển khai.
Cách thực hiện kiểm tra ủy quyền
Ban đầu, phương án truyền MODX cookie vào chính trang web MODX và nhận kết quả kiểm tra phiên hiện tại từ trang web đó thông qua các cơ chế ủy quyền riêng của nó đã được cân nhắc.
Phương án này đã bị loại bỏ vì quá dư thừa đối với nhiệm vụ hiện tại: nó sẽ đòi hỏi cấu hình môi trường bổ sung, kiến thức về địa chỉ trang web MODX và thêm một tương tác mạng nữa.
Trong lần triển khai hiện tại, cookie được lấy từ các tiêu đề (headers) của yêu cầu đến và được xác thực trực tiếp thông qua client hiện có sẵn kết nối với cơ sở dữ liệu hiện tại.
Đối với frontend mới, hiện tại chưa cần đến một đối tượng MODX user hoàn chỉnh. Chỉ cần một dấu hiệu đáng tin cậy cho thấy phiên quản trị tồn tại để hiển thị thanh công cụ bổ sung.
Các thao tác quản trị cuối cùng vẫn được thực hiện trong MODX Manager. Khi chuyển hướng đến đó, MODX sẽ kiểm tra lại phiên làm việc và quyền của người dùng của chính nó, vì vậy việc kiểm tra mới trên frontend không phải là ranh giới bảo mật cuối cùng.
Tại sao lại chọn thỏa hiệp này
Quyết định được đưa ra theo nguyên tắc cân bằng giữa chi phí và tính năng:
- sử dụng client đã có sẵn kết nối với cơ sở dữ liệu hiện tại;
- không giới thiệu thêm các environment variables bổ sung;
- không cần yêu cầu riêng biệt đến MODX;
- frontend chỉ nhận tín hiệu boolean mà nó cần;
- việc kiểm tra quyền cuối cùng vẫn ở lại trong MODX Manager;
- tính năng này chỉ dành cho quản trị viên, do đó các sự cố có thể xảy ra sẽ nhanh chóng lộ diện thông qua phản hồi.
Việc triển khai hiện tại được coi là đủ cho nhiệm vụ. Nếu sự tích hợp quản trị giữa frontend mới và MODX bắt đầu mở rộng, cơ chế kiểm tra phiên có thể được xem xét lại và chuyển thành một auth bridge trang trọng hơn.