我已經在我公司現有的站點中使用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