Só acrescentando que já resolvi esse problema.
Por algum motivo que eu não sei qual é, havia um "allow" no redirect do meu
grupo de teste. Então o oth redireciona para tal controller "allow" que não
existe. Retirando o allow do redirect agora ele funciona como deveria.
Também testei a situação onde o usuário tenta "re-logar" sem ter feito
logout. O othAuth trata essa situação, de qualquer forma vou fazer com que o
users/login teste se o usuário já está logado e retorne ele ao sistema após
uma mensagem "você já está logado" ou coisa tipo. Isso garante qualquer
eventual furo.
Obrigado a todos que deram as dicas. Assim que colocar o site no ar eu posto
a URL para vocês darem uma olhada... e claro, criticar à vontade.
Em tempo, um comentário. Eu já disse que meu negócio não é layout, não tenho
o mínimo de dom artistico necessário (na realidade tenho urticária quando
penso em layout hihihi). Mas estava curioso e procurando documentação do
Cake sobre seu esquema de layout. Fiquei impressionado como não achei nada
de concreto. A documentação do cake é super vaga quando fala de layouts e
sim, abri o código e vasculhei, vi que não é complicado de comprender, mas
uma documentaçãozinha seria bem legal. Recentemente fiz uma doação ao time
do Cake, acredito que devemos suportar aquilo que nos ajuda, acho que quando
tiver propriedade sobre assunto vou ajudar documentando alguma coisa.
Valeu outra vez galera.
Abraço,
Benito
On 11/9/07, Josenivaldo Benito Junior <[EMAIL PROTECTED]> wrote:
>
> Obrigado Bill.
>
> O mesmo está funcionando, apenas estou enfretando um probleminha que ainda
> estou debugando sem muito sucesso.
>
> Seu eu tento fazer algo protegido ele me direciona para a página de login
> (ótimo!). Tudo ocorre bem agora. Mas, se eu sou um usuário esperto e savei a
> URL: localhost/app/users/login e uso ela para entrar no site (ou seja, não
> sou redirecionado para o login, vou direto a ele como primeira atividade do
> site), após o login o "auto redirect" me joga para
>
> localhost/app/allow
>
> que obviamente não é um controller válido. Me parece que allow é lixo
> dentro da variável "from" que não está setada. Mas já estou correndo atrás
> para descobrir onde se origina o problema. Assim que souber eu posto aqui.
>
> Abraço
> Benito
>
> On 11/9/07, Bill <[EMAIL PROTECTED]> wrote:
> >
> > Vamos a algumas dicas do padeiro aqui..rsrsrsrs
> >
> > no arquivo app_controller.php, dentro da função beforeFilter, insira
> > esta linha
> >
> > $this->othAuthRestrictions[] = Configure::read('Routing.admin');
> >
> > Ficando desta maneira
> >
> > function beforeFilter()
> > {
> >
> > $this->othAuthRestrictions[] = Configure::read('Routing.admin');
> >
> >
> > Agora, no component oth_auth.php, troque todas referências:
> >
> > defined('CAKE_ADMIN')
> >
> > Por:
> >
> > Configure::read('Routing.admin')
> >
> >
> > e todas ocorrencias de:
> >
> > CAKE_ADMIN
> >
> > Por:
> > Configure::read('Routing.admin')
> >
> >
> > e tb troque neste arquivo a linha:
> > $res = $UserModel->save($row,true,array($this->user_table_last_visit));
> >
> >
> > Por estas 2 linhas:
> > $UserModel->id = $row[$this->user_model]['id']; $res =
> > $UserModel->saveField($this->user_table_last_visit,$row[$this->user_model][$this->user_table_last_visit],true);
> >
> >
> >
> > Estas dicas foram extraidas deste blog:
> > http://www.ancientwisdom.cc/news/archives/111
> >
> > Espero q te ajude
> >
> > > Boa noite Bill, Gustavo e lista,
> > >
> > > Bill, funcionou, agora ele não tenta mais criar um registro novo na
> > > tabela de usuários e atualiza os dados de last visit e modified
> > > corretamente. Porém continua o notice:
> > >
> > > Notice: Only variables should be assigned by reference in
> > > C:\xampp\htdocs\logbook\app\controllers\components\oth_auth.php on
> > > line 301
> > >
> > > Obviamente seguido de um "Cannot modify headers" já que isso
> > > acontece em um redirecionamento.
> > >
> > > Algum outro ajuste no oth_auth.php?
> > >
> > > Grato.
> > > Benito
> > >
> > > On 11/8/07, Bill wrote:> Bom, vamos lá,
> > > instalei aqui o othAuth e funcionou perfeito, mas tem alguns
> > > ajustes necessários, primeiro, vamos tratar deste erro:
> > >
> > >> + ou - na linha 323 do component oth_auth.php, temos o seguinte
> > >> trecho de código:
> > >>
> > >> // Update the last visit date to now
> > >> if(isset($this->user_table_last_visit)) {
> > >> $row[$this->user_model][$this-
> > >> >user_table_last_visit] = date('Y-m-d H:i:s');
> > >> $res = $UserModel->save($row,true,array($this-
> > >> >user_table_last_visit)); } Substitua por isto:
> > >> // Update the last visit date to now
> > >> if(isset($this->user_table_last_visit)) {
> > >> $row[$this->user_model][$this-
> > >> >user_table_last_visit] = date('Y-m-d H:i:s');
> > >> $UserModel->id = $row[$this->user_model]['id'];
> > >> $res = $UserModel->saveField($this-
> > >> >user_table_last_visit,$row[$this->user_model][$this-
> > >> >user_table_last_visit],true); }
> > >>
> > >>
> > >> Na linha ($res = $UserModel->saveField($this-
> > >> >user_table_last_visit,$row[$this->user_model][$this-
> > >> >user_table_last_visit],true); ) eu troquei o $UserModel->save
> > >> por $UserModel->saveField, que atualiza o registro, atualizando
> > >> assim a data de autenticação do usuário, quando o save, apenas
> > >> está tentando isnerir um novo registro, por isto dá erro
> > >>
> > >>
> > >> Ah, acessa a tabela de usuários do othAuth e deleta um registro
> > >> em branco q tem lá, ele foi criado por este save besta ai de
> > >> cima..rs
> > >>
> > >> Qquer coisa so perguntar
> > >>
> > >>
> > >>> Bom dia,
> > >>>
> > >>> Não falei que iria começar a fazer perguntas? Seguindo a
> > >>> documentação do othAuth consegui por para funcionar (ainda tem
> > >>> bugs) mas estou tendo dois problemas:
> > >>>
> > >>> 1) Recebo a mensagem: Notice: Only variables should be assigned
> > >>> by reference in
> > >>> C:\xampp\htdocs\logbook\app\controllers\components\oth_auth.php
> > >>> on line 301 logo depois de logar com usuário correto. A linha
> > >>> 301 está, se não me engano, fazendo o save do LoginAttempt
> > >>> model. Como dá esse Notice, não grava o login attempt e,
> > >>> obviamente, não faz o redirect corretamente.
> > >>>
> > >>> 2) Se apago o cookie de sessão (para forçar um login), recebo,
> > >>> além do item um acima, um
> > >>>
> > >>>
> > >>> Query: INSERT INTO `users` (`last_visit`,`created`,`modified`)
> > >>> VALUES ('2007-11-08 02:05:27','2007-11-08 02:05:27','2007-11-08
> > >>> 02:05:27')
> > >>> Warning: SQL Error: 1062: Duplicate entry '' for key 2 in
> > >>> C:\xampp\htdocs\cake_core\cake\libs\model\datasources\dbo_source.php
> > o
> > >>> n line 440 que, neste caso, está tentando dar INSERT de
> > >>> valores na tabela users para uma key 2. O detalhe é que só
> > >>> tenho um usuário na tabela users e ele tem key (Id) 1. Os
> > >>> campos create e modified e last_visit do user (id=1) não são
> > >>> mexidos, mas a entrada 2 é criada (caso não exista) e depois
> > >>> recebo esse erro. Pergunta, o othAuth não deveria tentar um
> > >>> "UPDATE" ao invés de INSERT? Alguém sabe o que está causando
> > >>> isso? Grato Benito
> > >
> > >
> > >
> > > >
> >
>
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Cake PHP Português" do
Grupos Google.
Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
Para mais opções, visite este grupo em
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---