10

当用户已经登录时,Security 组件会在每个请求时不断地从用户提供程序重新加载数据。有没有办法避免这种情况?当您的用户提供程序不在本地数据库中时,例如,在 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. [] []
4

1 回答 1

6

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

请参考以下 API 文档:

UserProviderInterface.html#method_refreshUser

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

于 2013-05-02T14:39:22.937 回答