не могу войти в мой торт - PullRequest
       1

не могу войти в мой торт

0 голосов
/ 17 февраля 2011

Я пытаюсь добавить auth в мое приложение cakephp, используя учебное пособие здесь: http://www.endyourif.com/login-system-with-cakephp-in-under-10-minutes/

Я немного изменил код из учебника, поскольку в моей таблице пользователей вместо столбцов «электронная почта» есть столбцы «имя пользователя» и «пароль»

Это для панели управления, поэтому все это должно быть обозначено паролем, не нужно для доступа к контроллеру и т. Д.

Когда я использую форму для входа в систему, появляется сообщение «Ошибка входа. Неверное имя пользователя или пароль». из $ session-> flash ('auth'); - Это означает, что он работает, но он просто не может найти строку таблицы пользователя?

Я пытался хэшировать пароли в базе данных на тот случай, если они не совпадают.

Вот мой контроллер приложения:

<?php
class AppController extends Controller {

    var $helpers = array('Html', 'Javascript', 'Form', 'Session', 'AutoJavascript', 'Cache');
    var $components = array('Session', 'Auth', 'Cookie'); // Adding an email class conflicts with the email controller

    function beforeFilter() {

        $this->Auth->userModel = 'User';
        $this->Auth->loginAction = array('admin' => false, 'controller' => 'users', 'action' => 'login');
        $this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'index');
        $this->Auth->allow('*');


    }

}
?>

Что-то не так в учебнике?

Извините, демоверсия недоступна.

Спасибо!

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

Как полагают другие люди, не стоит вставлять ваш пароль в базу данных напрямую.Причина в том, что когда вы используете компонент Auth, он хэширует пароли с помощью Salt из config.php, который вы явно не включаете при создании записи из phpmyadmin.

Просто идите и запекайте таблицу пользователей Model,Контроллер и Представления.Затем отключите безопасность в первый раз и создайте первого пользователя.Затем принудительно выполните аутентификацию и попробуйте войти.Я считаю, что это поможет.

Также имейте в виду, что когда вы перемещаете своих пользователей на другой сервер, например, выполняете миграцию, вам нужно сохранить старую строку Salt, иначе пользователи не смогут войти на новый сайт.

0 голосов
/ 17 февраля 2011

Проверьте фактическое значение базы данных пароля и убедитесь, что пароль правильно хешируется.

Кроме того, вы можете дважды проверить, что вы передаете правильные данные в методе входа, выполните var_dump($this->data); перепроверить все в порядке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...