PluginsfGuardUser::getAllPermissions function generate too many SQL queries.
Just replace getsfGuardGroupPermissions() with getsfGuardGroupPermissionsjoinsfGuardPermission(), i.e.:
public function getAllPermissions()
{
if (!$this->allPermissions)
{
$this->allPermissions = $this->getPermissions();
foreach ($this->getGroups() as $group)
{
//foreach ($group->getsfGuardGroupPermissions() as $gp)
foreach ($group->getsfGuardGroupPermissionsjoinsfGuardPermission() as $gp)
{
$permission = $gp->getsfGuardPermission();
$this->allPermissions[$permission->getName()] = $permission;
}
}
}
return $this->allPermissions;
}