Vídeo Tutorial: CakePHP - iniciando a parte administrativa - Sessão (session)

Pessoal,

continuando nossa série de vídeo-tutoriais sobre Cake, hoje irei dar início a parte administrativa, criando a parte de login de usuário que poderá administrar o blog.

Também irei mostrar como gravar um dado em sessão e como usar o app_controller com beforeFilter do CakePHP.

Assista agora…

Até a próxima pessoal,

Abraços,

18 Comentários »

  1. ArthasMX said,

    Abril 20, 2007 @ 21:03

    Hi there.

    Is it possible to have this website translated into Spanish or English please ?
    Or, who knows where to find some CakePHP VideoTutorials ?

    I ask this in english because dont know your language.

    Tnks

  2. Tulio Faria said,

    Abril 21, 2007 @ 18:46

    Hi,

    I am thinking about this… Or translate the audio to english or add subtitles to screencasts…

    Thanks for your comment….

    Best,

  3. John-Henrique said,

    Maio 9, 2007 @ 22:43

    Eu segui o tutorial todo 3 vezes e sempre aparece a mensagem:
    Notice: Undefined variable: logado in sis\cake\app\views\layouts\default.thtml on line 12
    Usuário não logado
    Esta seria a condicional responsável por verificar se $logado foi setada como 1 ou 0 para informar se o usuário foi logado, por mais que eu tente sempre aparece esta mensagem.

    Aparentemente o script de app_controller.php não está sendo executado.
    O que eu fiz de errado?

    Falopa!

  4. Tulio Faria said,

    Maio 9, 2007 @ 22:49

    Olá John,

    coloque ao invés de verificar se $logado está com 1, verifique se ele foi setado:

    if (isset($logado)){

    }

    T+

  5. John-Henrique said,

    Maio 10, 2007 @ 14:45

    Já havia feito isso e mesmo assim aparece a mensagem, por isso que eu disse que não estava funcionando corretamente o app_controller.php

    Outra coisa que notei foi o print_r(params) ao invés de mostrar apenas o que você mostra no video aparece isso:
    Array ( [pass] => Array ( [0] => 1 ) [admin] => admin [controller] => posts [action] => admin_ler [url] => Array ( [url] => admin/posts/ler/1 ) [bare] => 0 [webservices] => [plugin] => )

    Note o treixo “[pass] => Array ( [0] => 1 ) ” é como se ele estivesse setando um vetor como 1 no lugar do $logado

    Falopa!

  6. Tulio Faria said,

    Maio 10, 2007 @ 20:43

    Olá John,

    creio que não haja relação entre o $logado e o vetor [pass], pois o $params é gerado automaticamente pelo CakePHP.

    Deve haver alguma coisa diferente no seu….

    Abraços,

  7. John-Henrique said,

    Maio 10, 2007 @ 22:04

    Dá uma olhada ai eu já vi todos os vídeos mais de 3 vezes e não vi diferença nenhuma a não ser pelo erro que aparece no meu.

    Session -> check(”Usuario”)){

    // GRAVA O URL DE ONDE ESTAVA O USUARIO
    $this -> Session -> write(”url_r”, $this -> params[”url”][”url”]);
    // REDIRECIONA PARA O MODELO USUARIOS
    $this -> redirect(”/usuarios/logar”);

    //$this -> Session -> read(”url_r”);

    // SAIR PARA NAO TER PROBLEMAS EXTRAS
    exit;
    }
    }

    // ANTES DE EXECUTAR O FILTRO CHECKSESSION
    function beforeFilter(){

    //print_r($this -> params);

    // VERIFICANDO SE FOI SETADO UM ADMIN
    if(isset($this -> params[”admin”])){

    // EXECUTA O MÉTODO CHECKSESSION
    $this -> checkSession();
    }

    if($this -> Session -> check(”Usuario”)){

    $this -> set(”logado”, 1);

    }else{

    $this -> set(”logado”, 0);

    }
    }
    }
    ?>

  8. Rod said,

    Julho 16, 2007 @ 15:24

    Tulio,

    Acredito que esteja tendo o mesmo problema do nosso amigo acima. Percebi que somente o metodo beforeFilter() é chamado em AppController.

    O checkSession() não é chamada de maneira alguma. Coloquei um echo dentro das funções para saber se eram executadas ou não e somente o beforeFilter() retornou algo.

    Será que não é necessário configurar algo no cake para que trabalhe com sessão? Qual a melhor maeneira para debugar isso?

    Abraço,
    Rod

  9. Tulio Faria said,

    Julho 16, 2007 @ 16:14

    Olá amigos Rod e John,

    percebam que o checkSession apenas é chamado quando algum método do admin é chamado, tal como /admin/posts/add/ e por aí vai…

    Tentem verificar isso…

    Abraços,

  10. Gandamesh Rhadiff said,

    Agosto 7, 2007 @ 01:16

    Saudações Túlio.

    Já pensou em colocar um icone de doação no seu site ?
    do mesmo jeito que tem no cakePHP ?

    eu doaria ….

  11. Tulio Faria said,

    Agosto 7, 2007 @ 12:49

    Olá Gandamesh,

    boa idéia cara…

    Isso poderia a ajudar no custeio da hospedagem…

    Obrigado pela diga,

    vou adicionar sim…

    Abraços,

  12. Rodrigo Aramburu said,

    Novembro 19, 2007 @ 16:29

    Olá, primeiro gostaria de parabeniza-lo pelas video aulas, são realmente otimas, mas eu estava tentando serguir o exemplo e não esta funcionando. Parece que não esta gravando na seção, ou esta perdendo os dados depois do redirect.

    Se ou usar o “print_r($this->Session->read(”user”)” logo depois de “$this->Session->write(”user”,$user[”Usuario”])” ele mostra os dados do usuario bunitinho, mas se eu tento o “print_r($this->Session->read(”user”)” no “beforeFilter() do Appcontroller” ele não mostra nada.

  13. ezequiel said,

    Novembro 28, 2007 @ 11:16

    Hi Tulio, i am from Argentina, sorry but my english is poor, i´m a beginner with cakephp, and i trying to use some auth method or component, for user permissions, have you implemented someone, which you recommend me?
    thanks and great blog!!!

  14. Tulio Faria said,

    Dezembro 1, 2007 @ 14:55

    Olá Rodrigo,

    meio dificil saber o motivo. Mas veja se você não está redirecionando para um endereço onde o “case” da URL esteja diferente. Por exemplo: localhost/cake ao invés de localhost/Cake.

    Hi Ezequiel,

    I have some friends who had implemented auth using ACL, it’s a little bit confuse to understand, but works perfectly.

    I didnt do anything in this way yet, but I guess I will do soon.

    Thanks for your comment.

    Abraços a todos, (goodbye for all)

  15. Diego Alexandre said,

    Março 15, 2008 @ 15:05

    Tulio,
    sei q este post ja é meio antigo, mas estou comecando a usar o cake agora e estou tendo o mesmo problema do Rodrigo….

    O que acontece, é que o cake está perdendo a sessão apos ir para outra página.

    dei uma procurada na net, e vi alguma coisa falando sobre mudar a security para low no core, mas nao adiantou.

    será que tem mais alguma configuração para fazer?

    ps. estou usando o cake1.2

    Abraços e parabens pelo site.

    Diego

  16. Tulio Faria said,

    Março 16, 2008 @ 01:22

    Olá Diego,

    isso já aconteceu comigo também… O meu problema consegui resolver usando o security como low…

    Percebi também em caso de erro (por exemplo, uma página não encontrada, a sessão também cai (as vezes))…

    Abraços,

  17. Tiago said,

    Junho 13, 2008 @ 17:17

    Boa tarde, cara to vendo vcs falarem de cadastrar em dois models mas como se usa dois models num mesmo controller??

  18. charles said,

    Setembro 1, 2008 @ 15:18

    ta bom isso awe e facil, quero ver vc fazer e um usando ACL e disponibilizar ?

RSS feed for comments on this post · URI do TrackBack

Deixe seu comentário