2012-07-24 56 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