symfony Удалить запомнить меня cookie при выходе

Eсть delete_cookies в файле конфигурации безопасности: http://symfony.com/doc/current/reference/configuration/security.html

я имею remember_me включен. Все работает нормально, за исключением случаев, когда пользователь переходит на ссылку ‘logout’ (прямо из панели URL), я хочу, чтобы symfony удалил REMEMBERME печенье. Как я могу этого достичь? Я что-то пропустил?

Когда я иду на URL /app/logoutЯ вижу инструменты Chrome Dev, которые у меня еще есть REMEMBERME печенье.

Это мое security.yml файл:

firewalls:
app_secured:
anonymous: ~
switch_user: true
pattern: ^(/$|/login$|/app/)
form_login:
login_path: login
check_path: login_check
csrf_provider: form.csrf_provider
default_target_path: index
always_use_default_target_path: true
remember_me:
key: "%secret%"lifetime: 2592000
path: ~
domain: ~
logout:
invalidate_session: true
delete_cookies:
REMEMBERME: { path: null, domain: null}
path: logout
target: login
access_control:
- { path: ^/app/_sys/, roles: ROLE_NO_ACCESS }
- { path: ^/app/, roles: ROLE_USER }
- { path: ^/app/admin/, roles: ROLE_ADMIN }

routing.yml

login:
path:      /
defaults:  { _controller: AppWebBundle:Login:login }
login_check:
path: /login_check
logout:
path: /app/logout

LoginController.php

/**
* Login controller.
* @Route("/")
*/
class LoginController extends Controller
{
/**
* Login page
* @Route("/login", name="login2")
*/
public function loginAction(Request $request){
/** Reduced for simplicity, same code as:
http://symfony.com/doc/current/book/security.html#using-a-traditional-login-form **/
return $this->render('AppWebBundle:Default:login.html.twig', ['last_username' => $lastUsername,'error'=> $error,]);
}
}

1

Решение

$response = new Response();
$response->headers->clearCookie('REMEMBERME');
$response->send();

Вы можете удалить куки с этим в контроллере

5

Другие решения

Я обнаружил, что это не сработает, если вы поместите URL-адрес выхода в строку URL-адреса. Пользователь должен нажать «Выйти», чтобы работать.

Создание ссылки <a href="{{url('logout')}}">Logout</a> и нажав это сработало.

1

По вопросам рекламы [email protected]