2014-10-20 3 views
0

Я пытаюсь удалить cookie аутентификации пользователя с помощью $cookieStore.remove('.ASPXAUTH'), но если я обновляю страницу после этого, файл cookie все еще существует, и страница все еще доступна, а не перенаправляется пользователем на страницу входа, как и следовало ожидать.Cookie остается после того, как я удалил его и обновил

Почему пользователь все еще может просматривать страницу после удаления cookie аутентификации и обновления страницы?

ответ

2

Я боюсь, что вы не можете сделать с http-only cookie с javascript. Бэкэнд должен удалить его, если он только http-only. вы можете вызвать выход из системы, используя ajax.

$http.get("/logout"); 

Другой вариант - использовать не http cookie, чтобы вы могли его модифицировать с помощью javascript. Но это сделает его уязвимым и небезопасным для риска сбоя XSS, захватывающего ваш файл cookie и позволяющего захватить вашу сессию.

PS: попробуйте метод запроса HEAD, если вы не хотите, чтобы загрузить страницу, которая следует (может работать как «сделать и забыть-о-он»)

$http.head("/logout"); 
+0

Спасибо, что было проблема. Это был HttpOnly cookie. Я изменил его, чтобы выполнить вызов ajax. – adam0101

+0

Lucky guess :-) – Endless