Добавьте объекты, которые Вы хотите удалить к второму массиву и, после цикла, использовать-removeObjectsInArray:.
У меня также была проблема с установкой высокого уровня безопасности. Когда у вас установлен высокий уровень, он восстанавливает сеанс при каждом запросе: «Идентификаторы сеанса CakePHP также регенерируются между запросами, если для Security.level установлено значение« high ».»
У меня тоже была эта проблема с кроссбраузерностью, поэтому я знаю, что это не лучшее решение, но я просто изменил безопасность установил средний, и изменил тайм-аут моего сеанса, чтобы отразить этот параметр, и с тех пор у меня не было никаких проблем.
Проверьте свой Auth-> разрешить
или -> запретить
, потому что может быть, что ваш пользователь получает доступ к запрещенной части или действию вашего контроллера (s).
Во-вторых, проверьте конкретную Sanitize
CakePHP, потому что параметры «высокой безопасности» часто вызывают проблемы.
404 страницы сбрасывают сеанс? Я никогда об этом не слышал.
Я думаю, ваша проблема находится где-то в процедурах аутентификации. Если вы ограничите слишком много вещей, может случиться так, что некоторые совокупности запросов не будут выполнены из-за отсутствия атрибутов.
Например: UserOne пытается получить доступ к вашему веб-сайту, его имя пользователя содержит некоторые строки, которые вызывают неправильную интерпретацию имени пользователя . Имя можно было найти в базе данных, но аутентификация не смогла связать его с запросом.
Подобные ошибки всегда скрываются внутри вашего кода, где вы не ожидали их быть.
Security.level on high сделает это. установите средний в core.php
У меня была похожая проблема, я обнаружил это должна быть проверка user_agent в файле core.php, установите значение false!
Произошло то, что после обновления страницы изменился идентификатор сеанса и я вышел из системы, но в объекте сеанса была ошибка с сообщением «Попытка взлома сеанса !!!» pr ($ this-> Session) ;
Установите значение false в core.php! Configure :: write ('Session.checkAgent', false);