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

symfony2: Allow cronjob to access fosuserbundle protected controller actions

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

例如:

我有一个任务实体,其中 sql table 存储频率、上次执行任务的时间和每个后台任务的 URL。

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

所有后台任务操作均受 FosUserBundle 保护。我如何确保 cronjob 任务仍然可以访问?我可以使用 php 的 php_sapi_name() 函数检测 cronjobs。例如,有没有自动登录的方法?

将 cron 服务器 IP 添加到 security.yml 所以它不会登录。

安全: # ... access_control: # - { 路径:^/url,角色:IS_AUTHENTICATED_ANONYMOUSLY,ips:[127.0.0.1,serverIP-Here,::1] }