symfony2:允许cronjob访问fosuserbundle受保护的控制器操作

时间:2015-12-21 12:00:20

标签: php symfony cron fosuserbundle

我正在构建一个需要几个不同后台任务的工具。登录用户可以访问它们,因为它也应该可以从浏览器触发它们。而且,它们分散在不同的包中。

例如:

  • 浏览/x/backgroundtask触发器xBundle/controller的{​​{1}}
  • 浏览至backgroundtaskAction /yBundle/backgroundTask的{​​{1}}

我有一个任务实体,一个sql表存储频率,上次执行任务和每个后台任务的URL。

基本上我想要的是yBundle/controller中的一个控制器动作,检查应根据频率和上次执行执行哪些任务。这引出了我的问题:

所有后台任务操作均受backgroundtaskAction保护。如何确保cronjob任务有权访问?我可以使用php的taskBundle函数检测cronjobs。有没有办法自动登录?例如?

1 个答案:

答案 0 :(得分:1)

将cron服务器IP添加到security.yml,这样它就不会登录。

安全性:     #...     访问控制:         #          - {path:^ / url,roles:IS_AUTHENTICATED_ANONYMOUSLY,ips:[127.0.0.1,serverIP-Here,:: 1]}