Ваша необходимая реализация не поддерживается sfGuard, поэтому я бы порекомендовал создать новый дополнительный фильтр безопасности.
Вы можете создать новый фильтр, который расширяет sfFilter , а затем добавить его в filter.yml после существующего фильтра безопасности. Это означает, что все существующие функции безопасности, предоставляемые sfGuard, продолжаются.
Затем вы можете определить, какая область запрашивается, посмотрев на текущее имя модуля и имя действия (способ доступа к ним зависит от того, какую версию symfony вы используете, посмотрите в sfBasicSecurityFilter ключ), затем сравните это с ролями, которые текущий пользователь использует, используя sfGuardSecurityUser .