Отключить встроенный хэш из cakephp

#php #cakephp #frameworks

#php #cakephp #фреймворки

Вопрос:

Оке, так что я возился уже 5 часов подряд, и мне наконец удалось вставить свой собственный хэшированный пароль в данные post cakephp ( 2.x). До моего сведения дошло, что функция login() также хэширует пароль. Если нет, то что-то еще не так, и я не уверен, что именно.

Я хэшировал пароль, который ввел пользователь, и он совпадает с паролем в моей базе данных. Однако, когда я использую $this-> Auth-> login(), он не может войти в систему. Он продолжает возвращать false. Когда он возвращает false, я проверяю, каковы текущие данные ( $this->request->data[‘account’][‘password’], и это соответствует моему паролю в базе данных.

Есть ли какой-либо (простой) способ удалить has из cakephp, чтобы я мог использовать свой собственный?

Код, о котором я говорю, выглядит следующим образом;

 public function index() {
    if($this->Session->check('Auth.User')){
        $this->redirect(array('controller' => 'Authentication', 'action' => 'test'));      
    }

    if ($this->request->is('post')) {
        $password = $this->request->data['account']['username'];
        $this->hashPasswords($this->request->data);
        if ($this->Auth->login()) {
            $this->Session->setFlash(__('Welcome, '. $this->Auth->user('username')));
        } else {
            $this->Session->setFlash(__('Invalid username or password; '. $this->request->data['account']['username'] ."--". $this->request->data['account']['password'] ));
            $this->request->data['account']['password'] = $password;
        }
    } 
}
  

Комментарии:

1. Пожалуйста, всегда указывайте свою точную версию CakePHP и соответствующим образом помечайте свой вопрос! А затем прочитайте book.cakephp.org/2.0/en/core-libraries/components /… и book.cakephp.org/2.0/en/core-libraries/components /…

2. Это cakephp 2.5.1 ^_^

3. Решил избежать встроенной аутентификации и создать свой собственный. 🙂