无法登录我的cakephp

时间:2011-02-16 22:41:44

标签: php cakephp authentication

我正在尝试使用以下教程将auth添加到我的cakephp应用中:http://www.endyourif.com/login-system-with-cakephp-in-under-10-minutes/

我已经从教程中略微更改了代码,因为我的用户表中有'username'和'password'列而不是'email'

这是一个控制面板,所以整个事情需要密码,不需要每个控制器访问等。

当我使用表单登录时,它会给我“登录失败。用户名或密码无效。”来自$ session-> flash('auth'); - 这是否意味着它的工作,但它只是找不到用户表行?

我试图在数据库中对密码进行哈希处理,以防它与它们不匹配。

这是我的app控制器:

<?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 个答案:

答案 0 :(得分:1)

正如其他人所说,直接在数据库中输入密码并不是一个好主意。原因是当你使用Auth组件时,它会使用config.php中的Salt来密码密码,当你从phpmyadmin创建记录时,你显然不包括这些密码。

只需转到并烘焙用户表模型,控制器和视图。然后第一次禁用安全性并创建第一个用户。然后强制进行身份验证并尝试登录。我相信这会成功。

另请注意,将用户移至其他服务器时,例如您进行迁移需要保留旧的Salt字符串,否则用户将无法登录新网站。

答案 1 :(得分:0)

检查密码的实际数据库值,确保密码正确哈希。

此外,您可能需要仔细检查是否在登录方法中传递了正确的数据,执行var_dump($this->data);以仔细检查所有内容是否正常