Zend_Auth не работает - PullRequest
       0

Zend_Auth не работает

0 голосов
/ 14 февраля 2012

В моей модели "Пользователи" у меня есть следующая авторизация после проверки имени пользователя / пароля

$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';

, он продолжает возвращать 'auth_failed'.У меня был код, работающий на локальном хосте, и все работает нормально, но когда я загружаю его онлайн, он не может авторизовать пользователя.Что происходит?

Спасибо

1 Ответ

0 голосов
/ 14 февраля 2012

Я не могу сказать, что не так, не проверяя журналы, поэтому, возможно, вы захотите использовать метод, который я использую для хранения данных аутентификации.В основном вы проверяете вручную и устанавливаете хранилище. Это не решает проблему, но это невозможно сделать без доступа к вашему коду.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...