跳至內容
Astera Technology

API 快取怎樣避免混用不同用戶權限

HTTP 共用快取、應用程式快取鍵及權限變更要分開處理。

快取設計要知道內容屬於誰

RFC 9111 區分 private 與 no-store,但標頭不會自動管理自行建立的記憶體快取。例子按租戶、用戶、資料範圍及政策版本分開存結果,不把憑證原文放入鍵。

假設快取範圍核對
請求已有快取決定
租戶 A,查閱人 U1租戶 B 的結果不能跨租戶重用
U1 匯出權限已撤回舊政策版本結果核對現時權限;已撤權便拒絕匯出,並令相關快取失效
敏感回覆標為 no-store自行持久保存路徑該路徑也須符合儲存政策
下載可編輯 CSV ↓

權限變更時用已有快取測試

先用已獲授權的假設用戶建立快取,撤回相關權限再重做請求。即使命中快取,已撤權的匯出亦不得回傳受限制資料。日誌用安全編號記決定,不把私人回覆複製進診斷資料。

只加 Cache-Control: private,便能阻止自己的程式把同一結果給不同用戶嗎?

查看參考答案

不能。它限制遵守規格的 HTTP 共用快取;應用程式仍須正確分範圍、核對存取及處理失效。

相關資源