【发布时间】:2010-08-02 05:26:50
【问题描述】:
我很难理解 Zend_Session_Namespace 是如何与 Zend_Auth 集成的。我使用此方法作为验证登录页面的操作 - 它工作正常并重定向到 /monthly 视图:
public function authAction(){
$request = $this->getRequest();
$registry = Zend_Registry::getInstance();
$auth = Zend_Auth::getInstance();
$DB = $registry['DB'];
$authAdapter = new Zend_Auth_Adapter_DbTable($DB);
$authAdapter->setTableName('users')
->setIdentityColumn('UserName')
->setCredentialColumn('Password');
// Set the input credential values
$uname = $request->getParam('UserName');
$paswd = $request->getParam('Password');
$authAdapter->setIdentity($uname);
$authAdapter->setCredential($paswd);
// Perform the authentication query, saving the result
$result = $auth->authenticate($authAdapter);
// TRYING TO SET THE NAMESPACE
$this->session = new Zend_Session_Namspace('UserName');
if($result->isValid()){
$data = $authAdapter->getResultRowObject(null,'password');
$auth->getStorage()->write($data);
$this->_redirect('/monthly');
}else{
$this->_redirect('/login');
}
}
但我需要能够将 UserName 存储为 Zend_session 并从月度控制器调用它。我做错了,因为当我尝试这样做时,我只是得到一个空白屏幕:
public function indexAction()
{
$this->view->userName = Zend_Session_Namespace('UserName');
}
【问题讨论】:
标签: zend-framework zend-session