Try this approach and reminds you better have the names of the tables and 
columns in English
Default is: Table users and username/password for auth fields.


    public function login()
    {
        $user = $this->Users->newEntity();
        if ($this->request->is('post')) {
            $user = $this->Users->patchEntity($user, $this->request->data);
            $auth = $this->Auth->identify();
            if ($auth) {
                $this->Auth->setUser($auth);
                return $this->redirect($this->Auth->redirectUrl());
            }
            $this->Flash->error(__('Invalid credentials.'));
        }
        $this->set(compact('user'));
    }




El domingo, 22 de febrero de 2015, 14:05:53 (UTC-2), [email protected] 
escribió:
>
> I'm new to CakePhp framework and followed the blog tutorial. Everything 
> went smooth until authentication part.
>
> This is my login method from UsersControllers.php, the debug line always 
> returns false.
>
> public function login()
>     {
>         if ($this->request->is('post')) {
>             debug($this->Auth->identify());
>             $user = $this->Auth->identify();
>             if ($user) {
>                 $this->Auth->setUser($user);
>                 return $this->redirect($this->Auth->redirectUrl());
>             }
>             $this->Flash->error(__('Usuario o contraseña inválida, intente 
> nuevamente'));
>         }
>     }
>
> This is my user class I had to change the line protected $_accessible = 
> ['*' => true]; as appears in the tutorial, otherwise users wouldn't be 
> saved.
>
> class User extends Entity{
>     // Make all fields mass assignable for now.
>     protected $_accessible = ['username' => 
> true,'password'=>true,'role'=>true,'created'=>true,'modified'=>true];
>     // ...
>     protected function _setPassword($password)
>     {
>         return (new DefaultPasswordHasher)->hash($password);
>     }
>     // ...}
>
> This is my login.ctp
>
> <div class="users form">
>     <?= $this->Flash->render('auth') ?>
>     <?= $this->Form->create() ?>
>     <fieldset>
>         <legend><?= __('Ingrese su usuario y contraseña') ?></legend>
>         <?= $this->Form->input('Usuario') ?>
>         <?= $this->Form->input('Contraseña') ?>
>     </fieldset>
>     <?= $this->Form->button(__('Login')); ?>
>     <?= $this->Form->end() ?></div>
>
> These are my AppController.php methods:
>
> public function initialize(){
>     $this->loadComponent('Flash');
>     $this->loadComponent('Auth', [
>     'loginRedirect' => [
>     'controller' => 'Expedientes',
>     'action' => 'index'
>     ],
>     'logoutRedirect' => [
>     'controller' => 'Pages',
>     'action' => 'display',
>     'home'
>     ]
>     ]);}
> public function beforeFilter(Event $event){
>    $this->Auth->allow(['index', 'view']);}
>
> At this point I can add users, their passwords are hashed but I can't 
> login. Any help will be greatly appreciated. Thanks in advance.
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to