Pergunta

Em muitos dos meus aplicativos de bolo, tenho conchas que são invocadas via Cron e The Cake Console, e estou me perguntando se posso restringir esses métodos de maneira "privada" para que eles possam ser invocados apenas pelo console? Por exemplo, digamos que eu tenho isso na minha concha:

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

Como eu poderia restringir a ação "generatereports" para ser um método "shell apenas"? Porque eu também poderia invocar o método no meu navegador indo para:http://site.url/reviews/generateReports
E por mais útil que seja para depuração, pode ser perigoso em um ambiente de produção.

Se eu tornar o método privado, ou seja, o GenerateReports, o shell não poderá executá -lo. Alguma ideia? Sinto que deve haver uma solução fácil para isso, mas não consegui encontrar uma ou uma pergunta semelhante postada. Obrigado!

Foi útil?

Solução

Se sua ação deve ser executada apenas pelo servidor, por que criar a ação dentro de um controlador acessível à Web?

Se você deseja que apenas o Cakeshell execute esse método, a ação só deve ser criada como um caketask.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top