CakePHP:只将控制器方法限制为shell?

时间:2010-12-10 02:32:25

标签: shell cakephp-1.3

在很多我的Cake应用程序中,我有通过cron和蛋糕控制台调用的shell,我想知道我是否可以以“私有”方式限制这些方法,以便它们只能由控制台调用?例如,假设我在我的shell中有这个:

$this->requestAction(array('controller' => 'reviews', 'action' => 'generateReports'));

如何将“generateReports”操作限制为“仅限shell”方法?因为我也可以通过以下方式在浏览器中调用该方法: http://site.url/reviews/generateReports
虽然这可能对调试有用,但在生产环境中可能会很危险。

如果我将方法设为私有,即_generateReports,则不允许shell执行它。有任何想法吗?我觉得应该有一个简单的解决方案,但我找不到一个或类似的问题发布。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您的操作只是由服务器执行,那么为什么要在Web辅助控制器内部构建操作?

如果您只希望CakeShell运行该方法,则只应将该操作创建为CakeTask。