Запомнить меня работает так, как если бы для параметра always_remember_me было установлено значение true.

Я пытаюсь установить функцию «запомнить меня» в Symfony 5. Когда флажок не установлен и вход в систему, пользователь все еще подключен после повторного открытия браузера.

Вот мой конфиг (security.yaml):

security:
#(...)
    firewalls:
#(...)
        main:
#(...)
            remember_me:
                secret:   '%kernel.secret%'
                lifetime: 31536000 # 365 days in seconds (default)
                path:     /
                # by default, the feature is enabled by checking a
                # checkbox in the login form (see below), uncomment the
                # following line to always enable it.
                #always_remember_me: true

            form_login:
                login_path: login
                check_path: login
                use_referer: true
                default_target_path: welcome_locale
#(...)

И вот мой флажок входа:

<label>
    <input type="checkbox" id="remember_me" name="_remember_me" value="remember-me" checked> Remember me</label>

Я что-то упускаю ?


person simslay    schedule 31.03.2020    source источник
comment
Я хочу, чтобы когда флажок не установлен (помните, что я отключен), пользователь выходил из системы при закрытии браузера.   -  person simslay    schedule 31.03.2020


Ответы (1)


Параметр конфигурации remember_me не используется для этой цели. Как сказано в документе:

После аутентификации пользователя его учетные данные обычно сохраняются в сеансе. Это означает, что когда сеанс завершится, они выйдут из системы и должны будут снова предоставить свои данные для входа в следующий раз, когда они захотят получить доступ к приложению. Вы можете разрешить пользователям оставаться в системе дольше, чем длится сеанс, используя файл cookie с параметром брандмауэра Remember_me.

Он просто говорит, что сеанс будет длиться дольше, чем обычная переменная сеанса с использованием файла cookie.

По умолчанию сеанс не уничтожается при закрытии браузера.

В этих двух сообщениях вы можете найти больше информации о том, как сделать что-то подобное в PHP, что может помочь вам решить эту проблему.

Запись 1

Post2

person alexcm    schedule 31.03.2020