É isso ai. Eu também acho legal discutir soluções, é uma forma de
compartilhar conhecimento.
Então, entendi sua idéia, mas como essa pasta dificilmente será mudada,
acho que dá para aproveitar a idéia do Rafael, da seguinte forma:
function index() {
// se chamada for feita diretamente via url, retorna
redirect('subpasta/admin');
}
27 function init () {
28 $CI =& get_instance();
29 $pasta = $CI->uri->segment(1);
30 $metodo = $CI->uri->segment(3);
31 if ($pasta === 'subpasta' && $metodo !== 'login') {
32 $this->login("ENTROU");
33 }
34 }
function login( $entrou ) {
echo $entrou;
}
Aí surgiu um erro que não entendi.
Usei no hook a opção 'pre_controller', já que ela atua antes da chamada
a nossos controllers e imediatamente após o carregamento das classes
base do CI, mas nesse caso dá um erro:
Severity: Notice
Message: Trying to get property of non-object
Filename: hooks/Auth.php
Line Number: 29
Fatal error: Call to a member function segment() on a non-object in
hooks/Auth.php on line 29
Se eu mudo a opção para 'post_controller_constructor' aí funciona. O
ideal não seria ter essa chamada antes de qualquer controlador meu ser
carregado ???
Abs
Edinho Almeida escreveu:
> Oi Marco,
>
> E se você definir no controller algo do tipo:
>
> subpasta/admin.php
> class Admin extends Controller{
> public $requer_autenticacao = true; // funciona se logado e, se
> não, joga para o admin/login
> ...
> }
>
> E testar esta propriedade no Hook ?
> if( isset($this->requer_autenticacao) AND $this->requer_autenticacao === true
> ){
>
> }
> ficaria independente de sua estrutura de pasta.
>
> IMPORTANTE : Considere o código acima um 'brainstorm', provavelmente
> deverá ser adaptado.
> (gosto da idéia de trocarmos idéias e não somente soluções resolvidas)
>
> Abs
> Edinho Almeida
>
> 2008/4/8 Marco Telles <[EMAIL PROTECTED]>:
>
>> Oi Rafael, eu 'capisce' sim :)
>>
>> Mas o admin apenas monta um menu que vai chamar vários controllers. Se
>> alguém acessar a url diretamente ele não vai bloquear, já que não vem do
>> admin. E aí seria o caso de ter um array com todos os controllers para
>> testar ? Seria a melhor solução ?
>>
>> Outra opção, respondendo ao Edinho, pegar o segmento da subpasta, já que
>> todos os controllers do admin estão dentro dela. Seria uma boa opção ???
>>
>>
>> abs
>>
>>
>>
>>
>>
>> _______________________________________________
>> Lista mailing list
>> [email protected]
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>>
>
>
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br