É 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

Responder a