Я просматривал проблемы других людей, подобные этому, но, похоже, ничто не похоже на то, что я испытываю. Пожалуйста, не стесняйтесь ссылаться на меня в другой статье, если она уже была рассмотрена.
Я написал cookie, когда пользователь аутентифицируется, что хранит некоторую базовую информацию о пользователе локально. Когда пользователь выходит из системы, я пытаюсь удалить переменную cookie, но она не удаляется. Если я использую метод уничтожения, тогда cookie удаляется, но мне любопытно, что я здесь делаю неправильно:
Cookie написано так и работает:
function login(){
if($this->Auth->login($this->data)){
$this->Cookie->write('User.email',$this->data['User']['email'],true, '1 day');
}
}
Однако использование функции удаления не работает ...
function logout(){
$this->Cookie->delete('User');
if($this->Auth->logout($this->data)){
//auto redirected
}
}
Если я заменю delete на destroy, это сработает. Это не работает, потому что данные cookie зашифрованы? Я, вероятно, делаю что-то глупое, но я не могу понять это.
Я использую этот файл cookie для сохранения в сеансах. Я хочу удалить его только в том случае, если пользователь нажимает кнопку выхода из системы.
Спасибо!