Проверка подлинности CakePHP с помощью таблицы аутентификации, отличной от проблемы пользователя - PullRequest
0 голосов
/ 16 мая 2011

У меня много проблем с разработкой аутентификации cakephp. для этой цели я пытаюсь использовать таблицу с именем reviewers, которая, конечно, содержит поля username и password.

Я проверил, и из формы входа в систему отправляются правильные данные (имя пользователя и пароль).

файл app_controller.php содержит:

    class AppController extends Controller {
var $components = array('Auth', 'Session', 'Cookie', 'P28n');

    function beforeFilter() {

        $this->Auth->authenticate = ClassRegistry::init('Reviewer');

        Security::setHash('sha1'); // or sha1 or sha256
        $this->Auth->userModel = 'Reviewers';
    $this->Auth->fields = array('username' => 'username', 'password'=>'password');
    $this->Auth->loginRedirect = array('controller' => 'reviewers', 'action' => 'view');

    } 

как я могу проверить и отладить проблему? я получаю сообщение об ошибке: неправильное сочетание имени пользователя и пароля.

что меня бесит, так это то, что я уже разработал симулированную функциональность и это работало без проблем ........

Пожалуйста, помогите.

ОБНОВЛЕНИЕ: с инструментом отладки cakephp, похоже, что компонент auth никогда не вызывается.

Ответы [ 2 ]

0 голосов
/ 18 мая 2011

Что делать, если вы попытаетесь $this->Auth->authenticate =& ClassRegistry::init('Reviewer') получить ссылку на объект.

AuthComponent - аутентифицировать свойство

0 голосов
/ 16 мая 2011

У меня была похожая проблема с Cake 1.3. Похоже, что автоматическое хеширование компонента Auth отличается от хеширования, которое выполняется при сохранении ваших пользователей.

Я закончил с этим решением: Я добавил это в пользовательский контроллер перед сохранением.

$this->data['User']['password'] = Security::hash($this->data['User']['password']);

и теперь все работает нормально ... возможно, это поможет.

...