2015-12-21 88 views
1

我正在構建一個需要幾個不同後臺任務的工具。它們可以通過登錄用戶訪問,因爲它應該可以從瀏覽器中觸發它們。而且,它們分佈在不同的包中。symfony2:允許cronjob訪問fosuserbundle受保護的控制器動作

例如:

  • 瀏覽到/x/backgroundtask觸發xBundle/controllerbackgroundtaskAction
  • 瀏覽到/yBundle/backgroundTaskyBundle/controllerbackgroundtaskAction

我有個任務的實體,與SQL表存儲的頻率,上一次執行任務以及每個後臺任務的URL。

基本上我想要的是taskBundle中的一個控制器動作,根據頻率和上次執行來檢查應該執行哪些任務。這導致我的問題:

所有後臺任務操作受FosUserBundle保護。我如何確保cronjob任務可以訪問?我可以通過使用php的php_sapi_name()函數來檢測cronjobs。有沒有辦法自動登錄例如?

回答

1

將cron服務器IP添加到security.yml中,以便它不登錄。

安全: #... ACCESS_CONTROL: # - {路徑:^/URL,角色:IS_AUTHENTICATED_ANONYMOUSLY,IPS:127.0.0.1,服務器IP,在這裏,:: 1]}

相關問題