RememberMeServicesInterface
интерфейс RememberMeServicesInterface
Интерфейс, который необходимо реализовать классам, предоставляющим возможности «запомнить меня».
Мы предоставляем две реализации «из коробки»: - TokenBasedRememberMeServices (не требует TokenProvider) - PersistentTokenBasedRememberMeServices (требует TokenProvider)
Константы
| COOKIE_ATTR_NAME | Это имя атрибута может использоваться реализацией, если ей необходимо установить cookie в запросе, когда фактического ответа еще нет. |
Методы
| TokenInterface | autoLogin(Request $request) Этот метод будет вызываться всякий раз, когда объект TokenStorage не содержит объект TokenInterface, и фреймворк хочет предоставить реализации возможность аутентифицировать запрос с помощью функций «запомнить меня». | |
| loginFail(Request $request) Вызывается всякий раз, когда была предпринята попытка интерактивной аутентификации, но предоставленные пользователем учетные данные отсутствовали или были неверными. | ||
| loginSuccess(Request $request, Response $response, TokenInterface $token) Вызывается всякий раз, когда попытка интерактивной аутентификации оказывается успешной (например, при входе в систему через форму). |
Подробности
TokenInterface autoLogin(Request $request)
Этот метод будет вызываться всякий раз, когда объект TokenStorage не содержит объект TokenInterface, и фреймворк хочет предоставить реализации возможность аутентифицировать запрос с помощью функций «запомнить меня».
Никаких попыток определить, запросил ли браузер услуги «запомнить меня» или представил допустимый cookie, не предпринимается. Все такие определения оставляются на усмотрение реализации этого метода.
Если браузер представил несанкционированный cookie по какой-либо причине, убедитесь, что выброшено исключение AuthenticationException, так как это в конечном итоге приведет к вызову loginFail() и, следовательно, к аннулированию cookie.
Параметры
| Request | $request |
Возвращаемое значение
| TokenInterface |
loginFail(Request $request)
Вызывается всякий раз, когда была предпринята попытка интерактивной аутентификации, но предоставленные пользователем учетные данные отсутствовали или были неверными.
Этот метод должен позаботиться об аннулировании cookie.
Параметры
| Request | $request |
loginSuccess(Request $request, Response $response, TokenInterface $token)
Вызывается всякий раз, когда попытка интерактивной аутентификации оказывается успешной (например, при входе в систему через форму).
Реализация может всегда устанавливать cookie «запомнить меня» в ответе, хотя это не рекомендуется.
Вместо этого, реализации обычно должны искать параметр запроса (например, параметр HTTP POST), который указывает, что браузер явно запросил запомнить аутентификацию.
Параметры
| Request | $request | |
| Response | $response | |
| TokenInterface | $token |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Security/Http/RememberMe/RememberMeServicesInterface.html