我已经在我公司现有的网站内建立了一个使用CakePHP的有效ACL系统。访问限制非常有效,无权访问网站特定部分的群组和单个用户会收到authError消息,说明他们没有适当的权限。
唯一的问题是在Firefox中我有时会得到 - 我想称之为 - 误报。这意味着,即使用户有权访问某个控制器和操作,仍然会弹出authError。奇怪的是,视图仍然正常渲染,除了authError之外没有任何错误。一切正常,用户可以看到他们需要看到的东西。有时只会显示authError。
现在这种情况有时会在Firefox中随机出现,但在IE8中这种情况一直都会发生。即使用户具有对整个站点的完全访问权限,仍然会在IE8中的每个页面上显示authError消息。我没有检查这个问题是否在其他IE浏览器中持续存在,但由于它在IE8和FF中都有,我的想法是它们可能也存在于其他浏览器中。
现在我无法理解为什么会发生这种情况,因为这里没有真正的模式。在FF中,authError随机给出误报,在IE8中它只是一直显示。
有人可能会争辩说,出于某种原因,在authError消息被给出“go”后,将检查用户权限。即使已显示错误消息,也会导致正确访问。我已经检查过页面的加载时间是否与它有关,但似乎并非如此。
周围的用户是否知道导致此问题的原因是什么?提前谢谢!
答案 0 :(得分:0)
我不完全确定为什么会发生这种情况,我不知道你是否能够找出问题所在。但是,我也在运行ACL,并且有类似的问题和数字我会在这里发布并希望能帮助某人。
我有一个文章控制器,我需要将index
和view
操作公开。不管我做了什么,都没有用。我仍然会得到相同的not authorized error
。在经历了许多不眠之夜的尝试和尝试后,我开始发现,虽然我要求view
操作,例如,视图操作中引用的任何其他操作,例如getRelated
或{{还必须添加1}}。
问题已解决,或者我认为。但是,间歇性地,错误会一次又一次地弹出。同样的问题,同样的错误。现在,我能够访问View操作但不能访问Index,尽管getComments
经过多次搔痒之后,我发现我必须对我的类别控制器做同样的事情。在此控制器中,我创建了一个$this->Auth->allow
操作,该操作将根据特定文章的类别检索与特定文章相关的所有文章。
一旦我这样做,现在我的所有问题都消失了,我没有遇到类似的问题。现在我可以专注于我项目的其他部分。