Как говорит Стив, is_secure нельзя настроить для каждой среды.
Полагаю, вы пытаетесь защитить паролем всю свою среду разработки? Я бы посоветовал вам использовать защиту .htaccess / .htpasswd или эквивалентную для защиты сайта таким способом.
Если вы не можете или по какой-либо причине хотите сделать это в Symfony, вы можете заставить Symfony принимать конфигурацию таким образом, создавая собственный sfSecurityConfigHandler.class.php
В обработчиках конфигурации есть метод getConfiguration, который отвечает за получение значений, установленных в различных файлах yml, и создание массива окончательных значений после применения всех переопределений и т. Д.
sfSecurityConfigHander.class.php имеет следующую конфигурацию getConfiguration:
static public function getConfiguration(array $configFiles)
{
$config = self::flattenConfiguration(self::parseYamls($configFiles));
// change all of the keys to lowercase
$config = array_change_key_case($config);
return $config;
}
в то время как конфигурация, которая зависит от среды, такая как sfDatabaseConfigHandler.class.php, имеет такую конфигурацию:
static public function getConfiguration(array $configFiles)
{
$config = self::replaceConstants(self::flattenConfigurationWithEnvironment(self::parseYamls($configFiles)));
foreach ($config as $name => $dbConfig)
{
if (isset($dbConfig['file']))
{
$config[$name]['file'] = self::replacePath($dbConfig['file']);
}
}
return $config;
}
Ключевым отличием здесь является использование self :: flattenConfigurationWithEnvironment над self :: flattenConfiguration. Я думаю, что если вы расширяете sfSecurityConfigHandler с помощью:
class mySecurityConfigHandler extends sfSecurityConfigHandler {
static public function getConfiguration(array $configFiles)
{
$config = self::flattenConfigurationWithEnvironment(self::parseYamls($configFiles));
// change all of the keys to lowercase
$config = array_change_key_case($config);
return $config;
}
}
, а затем создайте файл config_handlers.yml в вашей конфигурации, сообщая Symfony об использовании этого класса:
modules/*/config/security.yml:
class: sfSecurityConfigHandler
file: %sf_lib_dir%/path/to/mySecurityConfigHandler
После этого вы сможете использовать yml в соответствии с вопросом для настройки безопасности для среды.