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.

Responder a