Я настроил свой проект Symfony 4, запомнив меня. Он создает REMEMBERME cookie с датой истечения срока действия, но как только он истек, я не вышел из системы.
Security.yaml
remember_me:
name: REMEMBERME
secret: '%kernel.secret%'
lifetime: 120
path: /en/admin
remember_me_parameter: remember_me
always_remember_me: true
token_provider: 'Symfony\Bridge\Doctrine\Security\RememberMe\DoctrineTokenProvider'
Вход веточка
<form action="{{ path('security_login') }}" method="post">
<div class="block block-themed block-rounded block-shadow">
<div class="block-header bg-gd-dusk">
<h3 class="block-title">Please Sign In</h3>
<div class="block-options">
<button type="button" class="btn-block-option">
<i class="si si-wrench"></i>
</button>
</div>
</div>
<div class="block-content">
<div class="form-group row">
<div class="col-12">
<label for="username">{{ 'label.username'|trans }}</label>
<input type="text" id="username" name="_username" value="{{ last_username }}" class="form-control"/>
</div>
</div>
<div class="form-group row">
<div class="col-12">
<label for="password">{{ 'label.password'|trans }}</label>
<input type="password" id="password" name="_password" class="form-control" />
</div>
</div>
<div class="form-group row mb-0">
<div class="col-sm-6 d-sm-flex align-items-center push">
<div class="custom-control custom-checkbox mr-auto ml-0 mb-0">
<input type="checkbox" id="remember_me" name="_remember_me" checked/>
<label for="remember_me">Keep me logged in</label>
</div>
</div>
<div class="col-sm-6 text-sm-right push">
<input type="hidden" name="_target_path" value="{{ app.request.get('redirect_to') }}"/>
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}"/>
<button type="submit" class="btn btn-primary">
<i class="fa fa-sign-in" aria-hidden="true"></i> {{ 'action.sign_in'|trans }}
</button>
</div>
</div>
</div>
<div class="block-content bg-body-light">
<div class="form-group text-center">
<a class="link-effect text-muted mr-10 mb-5 d-inline-block" href="{{ path('user_signup') }}">
<i class="fa fa-plus mr-5"></i> Create Account
</a>
<a class="link-effect text-muted mr-10 mb-5 d-inline-block" href="{{ path('forgot_password') }}">
<i class="fa fa-warning mr-5"></i> Forgot Password
</a>
</div>
</div>
</div>
</form>
AdminController
public function index(PostRepository $posts): Response
{
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');
$user = $this->getUser();
return $this->render('admin/dashboard.html.twig', [
'user' => $user,
]);
}
Роли пользователя
array:2 [▼
0 => "ROLE_ADMIN"
1 => "IS_AUTHENTICATED_FULLY"
]
Что мне не хватает? REMEMBERME удаляется автоматически, если я удаляю PHPSESSID, мне нужно заново войти. Но разве это не должно работать без удаления PHPSESSID вручную?