В Symfony есть встроенная функция, которая справляется с этим.Это руководство предназначено для версии 1.2, но также должно работать для версии 1.4: http://www.symfony -project.org / book / 1_2 / 06-Inside-the-Controller-Layer .
, поскольку значения конфигурации в 1.4 изменились на true / false вместо включения / выключения, вам придется изменить их: http://www.symfony -project.org / reference / 1_4 / ru / 08-Безопасность
apps / frontend / modules / mymodule / config / security.yml
all:
is_secure: true # for all actions of a module
foo:
is_secure: false # action foo is public
в apps / frontend / config / settings.yml вам нужно будет предоставить модуль идействие, которое выполняет вход в систему и т. д.
all:
.actions:
login_module: default
login_action: login
secure_module: default
secure_action: secure
И последнее, но не менее важное: вам необходимо установить флаг аутентификации для вашего пользователя (обычно после входа в систему;)):
$this->getUser()->setAuthenticated(true);
, кстати,возможно, вам следует установить sfdoctrineguardplugin, который обеспечивает обработку пользователя, вход в систему и т. д. из коробки;)