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
-~----------~----~----~----~------~----~------~--~---