2015-12-21 6 views
1

Я создаю инструмент, который требует нескольких различных фоновых задач. Они доступны для зарегистрированных пользователей, так как их также можно запускать из браузера. Кроме того, они распределены по разным пучкам.symfony2: Разрешить cronjob для доступа к действиям контроллера, защищенным fosuserbundle.

Например:

  • перейдите к /x/backgroundtask триггеров xBundle/controller 's backgroundtaskAction
  • просмотра в /yBundle/backgroundTaskyBundle/controller' s backgroundtaskAction

У меня есть сущность задачи, с таблицей SQL, хранящего частоты, последний раз выполняется задача и URL для каждой фоновой задачи.

В принципе, я хочу, чтобы это одно действие контроллера в taskBundle, проверяя, какие задачи должны выполняться на основе частоты и последнего выполнения. Это приводит к моему вопросу:

Все действия фоновой задачи защищены FosUserBundle. Как я могу убедиться, что задача cronjob имеет доступ в любом случае? Я могу обнаружить cronjobs, используя функцию php php_sapi_name(). Есть ли способ автоматического входа в систему, например?

ответ

1

добавить IP-адрес cron в security.yml, чтобы он не заходил.

безопасности: # ... access_control: # - {путь: ^/URL, роли: IS_AUTHENTICATED_ANONYMOUSLY, изобр: [127.0.0.1, ServerIP-вот, :: 1]}

Смежные вопросы