Hi, Did you make sure that the password column in your database is long enough for a hashed password?
Otherwise your code looks fine and should actually work, I guess. Cheers, Sajoscha > On Jul 20, 2015, at 9:33 PM, Mark Dijkema <mark.dijk...@gmail.com> wrote: > > I am following both the tutorials in the CakePHP 3 documentation and I am > trying to get the login functionality working, but so far I have no luck. > I have a Users table with the 2 fields 'username' and 'password'. The > password is hashed with `(new DefaultPasswordHasher)->hash($password);` > > After I enter the username and password, I do get into the login function, > but the `$this->Auth->identify();` never returns an user. > The post data is filled, but the password is not hashed yet. I assume this > happens in `$this->Auth->identify();`? > > Could anyone tell me what I ma doing wrong? I am not getting any errors I > could work with. > > I have the following form: > <?php > if(!is_null($this->request->session()->read('Auth.User.username'))) > { > echo 'logged in'; > } > else > { > echo $this->Form->create('User', array('action' => 'login')); > echo $this->Form->input('username', [ > 'class' => 'w3-input', > 'placeholder' => 'username', > 'label' => false > ]); > echo $this->Form->input('password', [ > 'class' => 'w3-input', > 'placeholder' => 'password', > 'label' => false > ]); > echo $this->Form->button('Login', [ > 'class' => 'w3-btn' > ]); > echo $this->Form->end(); > } > ?> > > this is my AppController: > public function initialize() > { > parent::initialize(); > $this->loadComponent('Flash'); > $this->loadComponent('Auth', [ > 'scope' => [ > 'Users.active' => 1 > ], > 'authenticate' => [ > 'Form' => [ > 'fields' => [ > 'username' => 'username', > 'password' => 'password' > ] > ] > ], > 'loginAction' => [ > 'controller' => 'Users', > 'action' => 'login' > ], > 'logoutRedirect' => [ > 'controller' => 'Users', > 'action' => 'homepage' > ] > ]); > > $this->layout = 'creed'; > } > > In the query it uses (she bottom of post), it never uses the scope at all or > the password field. > > And this is my login function: > > public function login() > { > if($this->request->is('post')) > { > $user = $this->Auth->identify(); > if($user) > { > $this->Auth->setUser($user); > > return $this->redirect($this->Auth->redirectUrl()); > } > } > } > > > This is the query that is being used in the login function > SELECT `Users`.`id` AS `Users__id`, > `Users`.`username` AS `Users__username`, > `Users`.`password` AS `Users__password`, > `Users`.`email` AS `Users__email`, > `Users`.`level` AS `Users__level`, > `Users`.`image` AS `Users__image`, > `Users`.`signature` AS `Users__signature`, > `Users`.`active` AS `Users__active`, > `Users`.`date_joined` AS `Users__date_joined` > FROM `users` `Users` > WHERE `Users`.`username` = 'DijkeMark' > LIMIT 1 > > > This returns 1 result, because there is a user in the DB with this name. But > the password field is not being used. > > I also baked the Entity and the Table file, so that should be correct too. I > really start to hate CakePHP and it's authentication system, because I have > done everything I am supposed to do and it gives not a single error on what I > am doing wrong. > > -- > Like Us on FaceBook https://www.facebook.com/CakePHP > <https://www.facebook.com/CakePHP> > Find us on Twitter http://twitter.com/CakePHP <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 cake-php+unsubscr...@googlegroups.com > <mailto:cake-php+unsubscr...@googlegroups.com>. > To post to this group, send email to cake-php@googlegroups.com > <mailto:cake-php@googlegroups.com>. > Visit this group at http://groups.google.com/group/cake-php > <http://groups.google.com/group/cake-php>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- 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 cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.