Isso me leva a uma pergunta. Eu tenho um controller_template, parecido com o o controller_admin do OP. Em Controller_Template::after(), é verificado se o usuário está logado e, se ele estiver logado, é consultado no banco se o usuário está em algum role que permite acesso àquela action que ele está tentando executar. Caso ele não esteja em nenhum role assim, é redirecionado para uma action definida (home, por ex.). Caso ele não esteja logado, é redirecionado para uma action definida (formulário de login, por ex.).
Faço essa pergunta porque eu trato de redirecionamentos e coisas assim, então achei apropriado colocar no Controller. Além disso, o trecho que consulta os models é relativamente pequeno. (1) O mais recomendado é realmente mover essas coisas de logado/não-logado, roles e actions pra um model? Pergunto isso porque, várias vezes que eu vi tutoriais e guias do kohana ensinando a usar o auth, e na maior parte das verificações eram feitas no controller. (2) Isso é feito por simplicidade? Porque eu normalmente uso meus models para manipulação de dados e algumas abstrações sobre eles. Reconheço que algumas vezes eu deixo os Controllers "espertos demais", mas não me pareceu o caso dessa vez. Eu procuro deixar minhas views tão estáticas quanto possíveis, meus models lidando quase que exclusivamente com dados e meus controllers tratando de como e quando fazer o quê com views e models. (3) Esta abordagem é equivocada ou não recomendada? Porquê? Antecipadamente, muito grato. Em 17 de agosto de 2011 10:47, Marcelo Rodrigo <[email protected]>escreveu: > De forma alguma. > E ainda sugiro colocar a lógica que verifica se está logado ou não dentro > de uma function em algum Model. > > Controllers redirecionam a app, Models são responsáveis pela regra de > negócio. > Você está no caminho certo :) > > Atenciosamente, > > Marcelo Rodrigo > http://marcelorodrigo.com > > > Em 17 de agosto de 2011 10:13, DS php <[email protected]>escreveu: > > Pessoal, >> gostaria de saber de vcs o seguinte... >> >> no meu controller ADMIN, faço verificação de logado e obtenho os dados >> do usuario... >> >> todos os controllers dentro do admin, estendem este controller, isso seria >> uma POG ??? >> seria coerente.... >> >> é algo como >> >> class Controller_Admin extends Controller{} (principal) >> >> class Usuario extends Controller_Admin >> class Produtos extends Controller_Admin >> >> pensei nisso para não ficar repetindo dentro de cada controller a >> verificação de login, >> obter dados do usuario e etc.... >> >> Obrigado, >> giovanni >> >> >> -- >> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >> Php" dos Grupos do Google. >> Para postar neste grupo, envie um e-mail para [email protected] >> . >> Para cancelar a inscrição nesse grupo, envie um e-mail para >> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]> >> . >> Para obter mais opções, visite esse grupo em http://groups.google.com/** >> group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR> >> . >> >> > -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" > dos Grupos do Google. > Para postar neste grupo, envie um e-mail para [email protected]. > Para cancelar a inscrição nesse grupo, envie um e-mail para > [email protected]. > Para obter mais opções, visite esse grupo em > http://groups.google.com/group/kohana-php?hl=pt-BR. > -- Anderson Marques Ferraz UEFS - Engenharia de Computação - 2006.1 Linux user #500881 - http://counter.li.org/ Money demands that you sell, not your weakness to men's stupidity, but your talent for their reason. (Francisco d'Anconia) -- Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google. Para postar neste grupo, envie um e-mail para [email protected]. Para cancelar a inscrição nesse grupo, envie um e-mail para [email protected]. Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
