Symfony 2安全:不断从用户提供商重新加载数据?

vin*_*nux 10 php symfony

当用户已经登录时,安全组件会在每个请求时保持从用户提供程序重新加载数据.有办法避免这种情况吗?当您的用户提供程序不在本地数据库中时(例如,在Web服务中),这可能会极大地降低系统速度.

在每个请求我得到这个:

[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. [] []
Run Code Online (Sandbox Code Playgroud)

Thi*_*nne 6

根据您的需要,您可以通过覆盖从给定安全上下文中依赖refreshUserUserProviderInterface实现方法来决定是否为每个请求刷新用户.

请参阅以下API文档:

UserProviderInterface.html#method_refreshUser

由实现来决定是否应该完全重新加载用户数据(例如,从数据库中),或者如果UserInterface对象可以仅合并到一些内部用户/身份映射数组中.