Когда пользователь уже вошел в систему, компонент Security продолжает перезагружать данные у поставщика услуг на каждом повторном уровне. Есть ли способ избежать этого? Если ваш провайдер не находится в локальной базе данных, например, в веб-сервисе, это может значительно замедлить работу системы.
По каждому запросу я получаю следующее:
[2012-08-15 20:07:30] security.DEBUG: Read SecurityContext from the session [] [] [2012-08-15 20:07:30] security.DEBUG: Reloading user from user provider. [] []
Вы можете решить, не обновлять ли ваш пользователь для каждого запроса в зависимости от ваших потребностей, переопределяя метод UserProviderInterface
реализации UserProviderInterface
на UserProviderInterface
вы полагаетесь, из определенного контекста безопасности.
Пожалуйста, обратитесь к следующей документации API:
UserProviderInterface.html # method_refreshUser
Реализация должна решить, должны ли пользовательские данные быть полностью перезагружены (например, из базы данных) или если объект UserInterface можно просто объединить в некоторый внутренний массив пользователей / карту идентификации.