# |
Jul 17th 2019, 12:42 |
scuadra |
'[new]' => false, '[accessible]' => [ '*' => true ], '[dirty]' => [ 'password' => true ], '[original]' => [ 'password' => 'the original hash from db' ], '[virtual]' => [], '[hasErrors]' => false, '[errors]' => [], '[invalid]' => [], '[repository]' => 'Members' |
# |
Jul 17th 2019, 12:42 |
scuadra |
The other keys are |
# |
Jul 17th 2019, 12:42 |
scuadra |
It shows object(Cake\ORM\Entity) {} and all the fields of the table |
# |
Jul 17th 2019, 12:37 |
admad |
what does `dd($user)` show after you set `$user->password` |
# |
Jul 17th 2019, 12:36 |
scuadra |
I already checked it a couple of times and it is in the right place |
# |
Jul 17th 2019, 12:33 |
admad |
make sure you have put the Member entity class in right place with proper class ame. |
# |
Jul 17th 2019, 12:32 |
scuadra |
here it is |
# |
Jul 17th 2019, 12:32 |
slackebot |
} return $this->redirect($this->Auth->redirectUrl()); } $this->Flash->error(__('Invalid username or password')); } } |
# |
Jul 17th 2019, 12:32 |
slackebot |
!empty($this->getRequest()->getData())) { $user = $this->Auth->identify(); if ($user) { $this->Auth->setUser($user); if ($this->Auth->authenticationProvider()->needsPasswordRehash()) { $user = $this->Members->get($this->Auth->user('id')); $user->password = $this->getRequest()->getData('password'); $this->Members->save($user); |
# |
Jul 17th 2019, 12:32 |
scuadra |
public function login() { if(empty($this->getRequest()->getParam('lang'))) { throw new NotFoundException(); } $lang = $this->getRequest()->getParam('lang'); if($this->Auth->user('id')) { return $this->redirect(['lang' => $lang, 'action' => 'index']); } $this->loadModel('Members'); if ($this->getRequest()->is('post') andand |
# |
Jul 17th 2019, 12:29 |
admad |
show you actual login() action code |
# |
Jul 17th 2019, 12:28 |
scuadra |
protected function _setPassword($password) { if (strlen($password) > 0) { return (new DefaultPasswordHasher)->hash($password); } } |
# |
Jul 17th 2019, 12:27 |
admad |
it is |
# |
Jul 17th 2019, 12:27 |
scuadra |
yes |
# |
Jul 17th 2019, 12:27 |
scuadra |
maybe this is the problem |
# |
Jul 17th 2019, 12:27 |
admad |
and have you added the `_setPassword()` method to your `Member` entity? |
# |
Jul 17th 2019, 12:27 |
scuadra |
I did dd(get_class($this->Members)) because my table is named `members` |
# |
Jul 17th 2019, 12:26 |
scuadra |
@admad it shows 'App\Model\Table\MembersTable' |
# |
Jul 17th 2019, 12:24 |
admad |
@scuadra what does `dd(get_class($this->Users))` show? |
# |
Jul 17th 2019, 12:22 |
ndm |
@scuadra The `$_accessible` property isn't involved if you're setting the property directly. If your entity has the hashing part implemented, then you might not be using that entity class. Check what exactly `$this->Users` is and what `$this->Users->get()` returns. |
# |
Jul 17th 2019, 12:22 |
scuadra |
@admad I used exactly the same function in the link I provided |
# |
Jul 17th 2019, 12:22 |
admad |
sorry, I see you linked the manual which shows how to update password |
# |
Jul 17th 2019, 12:20 |
admad |
authcomponent (or it's classes) don't make any queries to update db, so don't see how simply logging in updated the password in db. It's your app code that's doing so. |
# |
Jul 17th 2019, 12:20 |
scuadra |
I also checked the namespaces and they seem to be fine |
# |
Jul 17th 2019, 12:19 |
scuadra |
I also tried to add " protected $_accessible = ['*' => true]; " in the entity class but with no success |
# |
Jul 17th 2019, 12:18 |
scuadra |
@ndm no it is present |
# |
Jul 17th 2019, 12:17 |
ndm |
@scuadra You might be missing https://book.cakephp.org/3.0/en/controllers/components/authentication.html#hashing-passwords |
# |
Jul 17th 2019, 12:15 |
davorminchorov |
Hi, I want to setup Gmail SMTP for sending emails. I am using a gmail email as part of the company G Suite. Should I use the GSuite SMTP relay or can I do it with the normal one like for personal emails? |
# |
Jul 17th 2019, 12:11 |
scuadra |
Hello. I am trying to migrate the passwords of the users in my application (in my case the table is called `members`) form Cake2 to Cake3. I followed these steps --> https://book.cakephp.org/3.0/en/controllers/components/authentication.html#changing-hashing-algorithms. But the problem is when the user is logged in the old hash in the database is being replaced with the plain password instead of a hashed one. What could be the problem? |
# |
Jul 17th 2019, 11:57 |
dereuromark |
also traits work |
# |
Jul 17th 2019, 11:38 |
graziel |
and extends all tests from it, ie put method `setUser(int $id)` and call it as needed (sometimes i need logged user sometimes not) |
# |
Jul 17th 2019, 11:37 |
graziel |
@neon1024 i like to create `class IntegrationTestCase extends TestCase` and put there my methods to shorten writing of tests |
# |
Jul 17th 2019, 11:29 |
neon1024 |
Is there a neat place to set the session for a number of tests? I am integration testing an api behind a login |
# |
Jul 17th 2019, 11:01 |
dereuromark |
neon: see what ide helper does |
# |
Jul 17th 2019, 11:00 |
aivaras.godliauskas |
Yeah I do agree with that too :slightly_smiling_face: |
# |
Jul 17th 2019, 10:59 |
neon1024 |
Having a clean, organised and structured codebase is the approach I prefer personally |
# |
Jul 17th 2019, 10:59 |
neon1024 |
Performance optimisation is a bit of a rabbit hole |
# |
Jul 17th 2019, 10:58 |
neon1024 |
Probably just build your application as best you can, then use a tool like siege to test it’s response time, with debug off, and not on a live server ;) |
# |
Jul 17th 2019, 10:57 |
aivaras.godliauskas |
nah, in general just interested in performance measures or ways of measuring it. Most likely for personal use. |
# |
Jul 17th 2019, 10:55 |
neon1024 |
@aivaras.godliauskas Was there a specific piece of the framework’s performance you were interested in? |
# |
Jul 17th 2019, 10:54 |
neon1024 |
It’s like comparing a shovel and a spade |