Issue
I am using cakephp v3. I have enabled authentication. Suppose I want a user named "XXX" to login without using password. I have the following login() function in UsersController.php. How can it be modified to allow a user named "XXX" to login without needing to enter password?
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->Flash->error(__('Invalid username or password, try again'));
}
} //public function login()
Solution
Something like this should probably work. Just make sure you use the correct method to fetch the correct param for the user name, and likewise for the user in the database.
public function login()
{
if ($this->request->is('post')) {
$username = $this->request->data['username'];
if (username === 'XXX') {
$user = TableRegistry::get('Users')->find()->where(['username' => $username]);
} else {
$user = $this->Auth->identify();
}
if ($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
$this->Flash->error(__('Invalid username or password, try again'));
}
}
Answered By - JimL
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.