segunda-feira, 10 de fevereiro de 2014

Autenticação e ACL com Laravel 4.1 - Parte 2

Olá galera,

Nesse segundo vídeo, vamos adicionar o login e logout a nossa aplicação. Como nos vídeos anteriores, recomendo que a visualização do vídeo seja feita em alta resolução, de preferência em HD, por conta dos códigos exibidos.

Os arquivos que foram gerados podem ser baixados aqui. Fiquem a vontade para enviar dúvidas ou sugestões.

Um grande abraço a todos e até a próxima.

6 comentários:

  1. Muito bom amigo, obrigado por compartilhar.

    ResponderExcluir
  2. eu sou novato em laravel qual é a função do seeds

    ResponderExcluir
    Respostas
    1. Olá amigo,

      A finalidade dos seeds é "alimentar" o banco de dados com massa de testes.

      Um abraço

      Excluir
  3. Boa noite!
    Quando executo o comando> php artisar db:seed, ele retorna o seguinte erro:
    Seeded: AcaoTableSeeder
    Seeded: PerfilTableSeeder
    PHP Fatal error: Class Usuario contains 3 abstract methods and must therefore be declared abstract or implement the remaining methods (Illuminate\Auth\UserInterface::getRememberToken, Illuminate\Auth\UserInterface::setRememberToken, Illuminate\Auth\UserInterface::getRememberTokenName) in /home/marcelo/sites/autenticacao/app/models/Usuario.php on line 58
    PHP Stack trace:
    PHP 1. {main}() /home/marcelo/sites/autenticacao/artisan:0
    PHP 2. Symfony\Component\Console\Application->run() /home/marcelo/sites/autenticacao/artisan:59
    PHP 3. Symfony\Component\Console\Application->doRun() /home/marcelo/sites/autenticacao/vendor/symfony/console/Symfony/Component/Console/Application.php:121
    PHP 4. Symfony\Component\Console\Application->doRunCommand() /home/marcelo/sites/autenticacao/vendor/symfony/console/Symfony/Component/Console/Application.php:191
    PHP 5. Illuminate\Console\Command->run() /home/marcelo/sites/autenticacao/vendor/symfony/console/Symfony/Component/Console/Application.php:885
    PHP 6. Symfony\Component\Console\Command\Command->run() /home/marcelo/sites/autenticacao/vendor/laravel/framework/src/Illuminate/Console/Command.php:96
    PHP 7. Illuminate\Console\Command->execute() /home/marcelo/sites/autenticacao/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:241
    PHP 8. Illuminate\Database\Console\SeedCommand->fire() /home/marcelo/sites/autenticacao/vendor/laravel/framework/src/Illuminate/Console/Command.php:108
    PHP 9. DatabaseSeeder->run() /home/marcelo/sites/autenticacao/vendor/laravel/framework/src/Illuminate/Database/Console/SeedCommand.php:52
    PHP 10. Illuminate\Database\Seeder->call() /home/marcelo/sites/autenticacao/app/database/seeds/DatabaseSeeder.php:16
    PHP 11. UsuarioTableSeeder->run() /home/marcelo/sites/autenticacao/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:37
    PHP 12. spl_autoload_call() /home/marcelo/sites/autenticacao/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:9
    PHP 13. Composer\Autoload\ClassLoader->loadClass() /home/marcelo/sites/autenticacao/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:0
    PHP 14. Composer\Autoload\includeFile() /home/marcelo/sites/autenticacao/vendor/composer/ClassLoader.php:274
    PHP 15. include() /home/marcelo/sites/autenticacao/vendor/composer/ClassLoader.php:382
    {"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class Usuario contains 3 abstract methods and must therefore be declared abstract or implement the remaining methods (Illuminate\\Auth\\UserInterface::getRememberToken, Illuminate\\Auth\\UserInterface::setRememberToken, Illuminate\\Auth\\UserInterface::getRememberTokenName)","file":"\/home\/marcelo\/sites\/autenticacao\/app\/models\/Usuario.php","line":58}}

    Sabe o motivo ???

    ResponderExcluir
    Respostas
    1. Boa noite Marcelo,

      Se você estiver usando a versão do Laravel 4.2, é necessário incluir mais um campo no banco de dados chamado 'remember_token'. Recomendo você acrescentar assim na migration de usuário $table->string('remember_token', 100)->nullable();

      Um abraço

      Excluir
    2. alem da alteracao deve inserir tambem na classe usuario

      public function getRememberToken()
      {
      return $this->remember_token;
      }

      public function setRememberToken($value)
      {
      $this->remember_token = $value;
      }

      public function getRememberTokenName()
      {
      return 'remember_token';
      }

      Excluir