2012-02-14 10 views
0

を働いていない、私はそれがauth_failed」を返す続けるのユーザー名/パスワードをはZend_Authに私のモデル、「ユーザー」で

$db = Zend_Db_Table::getDefaultAdapter(); 
$authAdapter = new Zend_Auth_Adapter_DbTable($db,'users','username','password'); 
$authAdapter->setIdentity($username); 
$authAdapter->setCredential(md5($password)); 
$auth_result = $authAdapter->authenticate(); 

if($auth_result->isValid()) 
{ 
    $auth = Zend_Auth::getInstance(); 
    $storage = $auth->getStorage(); 
    $storage->write($authAdapter->getResultRowObject(array('id','username'))); 

    return 'logged_in'; 
} 
return 'auth_failed'; 

を検証した後、次の権限を持っています。コードをローカルホスト上で実行していて、すべて正常に動作しますが、オンラインでアップロードすると、ユーザーの認証が失敗します。何が起こっている?

おかげ

+0

データベースをローカルホストと同期させ、正しいユーザー/パスワードパラメータをconfigに設定しましたか? –

+0

はい!私はそのテーブルにユーザを登録して作成することができます。 – user1083320

+0

アプリケーションから登録するか、phpmyadminで登録できますか? –

答えて

0

私は、ログをチェックインせずに間違っているものを言うことができないので、おそらくあなたは、私が認証データを格納するために使用する方法を使用する場合があります。基本的に手動で検証してストレージを設定します。これで問題は解決されませんが、コードにアクセスすることは不可能です。

function login($userNameSupplied,$passwordSupplied){ 
$table= new Application_Model_Dbtable_Users();//Or Whatever Table you're using 
$row=$table->fetchRow($table->select()->where('username=?',$userNameSupplied)->where('password=?',md5($passwordSupplied)); 
if($row){ 
Zend_Auth::getInstance()->getStorage()->write($row->toArray()); 
return 'logged_in'; 
} 
else{return 'failed';} 
} 


//To check if the user is logged in, use 
$userInfo=Zend_Auth::getInstance()->getStorage()->read(); 
if($userInfo)//user is logged in 
関連する問題