2011-02-16 39 views
0

我想使用這裏的教程AUTH添加到我的CakePHP應用程序:http://www.endyourif.com/login-system-with-cakephp-in-under-10-minutes/着登錄到我的CakePHP

我稍微從我的用戶表中有「用戶名」和「密碼」列教程改變了代碼而不是「電子郵件」

這是一個控制面板,使整個事情需要被需要密碼,不要每個控制器接入等

當我使用的表單進行登錄它給了我需要「登錄失敗。無效的用戶名或密碼。「從$ 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('*'); 


    } 

} 
?> 

有什麼不對的教程?

對不起,沒有演示可用。

謝謝!

+0

你是如何創建你的初始用戶名和密碼的? – OldWest 2011-02-16 23:57:28

+0

我手動將其插入到數據庫中,只填寫用戶名和密碼字段 - 都是「測試」,unhash。 – 472084 2011-02-17 08:26:39

回答

1

至於其他人建議這不是好主意,插入您的密碼數據庫直接。原因是當你使用Auth組件時,它使用來自config.php的Salt進行密碼處理,當你從phpmyadmin創建記錄時你顯然不包括這些密碼。

只要去和烤用戶表模型,控制器和視圖。然後第一次禁用安全並創建第一個用戶。然後強制認證並嘗試登錄。我相信這會做到這一點。

還要記住,當您將用戶移動到其他服務器時,例如你做一個遷移你需要保留舊的Salt字符串,否則用戶不會登錄新的網站。

0

檢查密碼的實際數據庫值,並確保密碼正確散列。

另外,你可能要仔細檢查你傳遞正確的數據在登錄方法,做一個var_dump($this->data);仔細檢查一切正常