CakePHPの:唯一のシェルに、コントローラメソッドを制限しますか?

StackOverflow https://stackoverflow.com/questions/4405158

  •  25-09-2019
  •  | 
  •  

質問

私のケーキの多くは、私はcronとケーキのコンソール経由で起動されている殻を持っている、と私は、彼らが唯一のコンソールで呼び出すことができるようにすることを「プライベート」な方法でこれらのメソッドを制限することができる場合、私は疑問に思ってアプリでは?たとえば、のは、私は私のシェルでこれを持って言わせます:

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

どのように私は、メソッド「だけシェル」と「generateReports」アクションを制限するだろうか?私はまたに行くことによって、私のブラウザでメソッドを呼び出すことができますので: http://site.url/reviews/generateReports
そして、このように有用であるとして、それは運用環境で危険なことができ、デバッグ用であってもよい。

私は、メソッドのプライベート、すなわち_generateReportsを作る場合は、

、そして、シェルはそれを実行することはできません。何か案は?これに対する簡単な解決策があるべきような気がしますが、私は1つを見つけることができていない、または同様の質問が投稿しました。ありがとう!

役に立ちましたか?

解決

あなたのアクションが唯一のサーバで実行する場合、なぜウェブアクセスコントローラのアクション内部アウトビルド?

あなたがそのメソッドを実行するだけCakeShellをご希望の場合は、

、アクションだけでCakeTaskとして作成する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top