2012-07-24 59 views
1

我正在爲FuelPHP中的應用程序編寫一個認證包。權限將相當細膩,並且需要爲每個頁面加載確定幾個權限。緩存用戶權限的缺點

如果我要在服務器上緩存我的groups_permissions表,並且每次查詢時都會發生問題,而不是每次都查詢數據庫?

我想到的一個明顯問題是,如果有人可以訪問服務器,他們可以更改他們的權限。然而,這個論點似乎並不相關,就好像有人獲得了對服務器的訪問權限,無論如何他們都可以訪問數據庫憑證。

感謝,

詹姆斯

回答

1

想象一下這種情況。您/管理員爲特定用戶拿走了某些權限,並且他正在訪問該網站。如果緩存持續時間很長並且還沒有過期,他仍然可以執行那些他現在不應該訪問的操作。

一種解決方案是,無論何時更改用戶權限/在用戶會話中保留權限,都要更新緩存。

+0

是的,我想到了這一點,但我打算按照您的建議更新緩存。你還能看到其他的問題嗎? – 2012-07-24 17:09:28

+0

你必須確保更新緩存。如果您的數據中有2個地方正在更新,該怎麼辦?一個來自網站,另一個來自桌面工具?確保在所有情況下都更新緩存 – Shyju 2012-07-24 17:19:28

+0

如果確保通過模型發生所有數據交互,則只有一個數據訪問點,並且可以輕鬆控制緩存。 – WanWizard 2012-08-13 16:01:07