Ես դժվարանում եմ հասկանալ, թե ինչպես է Zend_Session_Namespace-ը ինտեգրված Zend_Auth-ի հետ: Ես ունեմ այս մեթոդը, որը ես օգտագործում եմ որպես իմ մուտքի էջը վավերացնելու գործողություն. այն ճիշտ է աշխատում և վերահղվում է /ամսական դիտմանը.
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');
}
indexAction
-ում կատարեքvar_dump($userData);
պարզապես տեսնելու, թե ինչ ունեք այնտեղ: Ես դնում եմ$this->user->firstname
պարզապես օրինակի համար:users
աղյուսակի բոլոր սյունակները, բացառությամբ գաղտնաբառի, պետք է լինեն$userData
փոփոխականում: 04.08.2010