我已经在我公司现有的站点中使用CakePHP建立了一个工作ACL系统。访问限制是完美的,没有访问网站特定部分的权利的团体和单个用户会收到authError消息,说明他们没有适当的权利。CakePHP:带有ACL的假阳性authError
唯一的问题是,在Firefox中,我有时会得到 - 我想打电话 - 误报。这意味着,即使用户有权访问某个控制器和操作,authError仍会弹出。奇怪的是,视图仍然呈现正确,除了authError没有任何错误。一切正常,用户可以看到他们需要看到什么。只有有时authError仍然显示。
现在这在Firefox中有时会随机出现,但在IE8中这种情况一直发生。即使用户可以完全访问整个站点,authError消息仍然显示在IE8的每个页面上。我没有检查过,如果这个问题在其他IE浏览器中仍然存在,但是既然它发生在IE8和FF中,我的想法是它们可能也存在于其他IE浏览器中。
现在我无法理解为什么会发生这种情况,因为这里没有真正的模式。在FF中,authError随机给出了一个误报,而在IE8中它只是一直显示。
有人可能会争辩说,出于某种原因,用户权限在authError消息被给出'去'出现后被检查。即使已显示错误消息,也会导致适当的访问。我已经检查过这个页面的加载时间是否与它有关,但这似乎并不是这样。
是否有用户在附近有什么想法可能是这个问题的原因?提前致谢!
我会检查您的网页中是否有一些内容试图访问受保护的URL(我想到一个Ajax请求,指向受保护操作的图像的错误URL等)。它将在会话中设置一个Auth错误消息,该消息将在下一页加载时显示。 Firefox和IE之间的区别可以通过不同的缓存策略来解释。 – nIcO