Ich benutze Zend_Auth für eines meiner Projekte, aber bis jetzt habe ich noch nicht herausgefunden, wie man die Lifetime für die Session einstellt, oder wie man es verlängert (sagen wir mal 5 Minuten und sollte, dass zurückgesetzt, wenn der Benutzer eine Aktion) macht, hier ist meine Initialisierung Code:Setzen und Erweitern der Session Lifetime mit Zend_Auth
$authAdapter = new Zend_Auth_Adapter_DbTable($this->_model->pdo);
$authAdapter->setTableName('normal_folks')
->setIdentityColumn('username')
->setCredentialColumn('password');
$post = $this->_request->getPost();
$authAdapter->setIdentity($post['username'])
->setCredential($post['password']);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter);
if($result->isValid())
{
$userInfo = $authAdapter->getResultRowObject(null, 'password');
$authStorage = $auth->getStorage();
$authStorage->write($userInfo);
if(strlen($post['refferer']) > 1){
header("Location: ".$post['refferer']);
}elseif(strlen($this->_request->getParam('ref_action')) > 1){
Zend_Controller_Action::_forward($this->_request->getParam('ref_action'),"admin",null,null);
}else{
Zend_Controller_Action::_forward("index","admin",null,null);
}
}
diese Ant, wie ich überprüfen, ob der Benutzer angemeldet ist:
if(Zend_Auth::getInstance()->hasIdentity()){
echo "Woho!";
}else{
die("invalid-identity");
}
es liegt direkt dort wahrscheinlich vor von mir, aber ich kann es einfach nicht herausfinden, helfen? Bitte? Ziemlich Bitte? : D
auch jeder, wie ich kann „refresh“, dass Leben im Falle einer Aktion? – Hannes
@Hannes Ich denke, die Ablaufzeit wird bei jeder Anfrage automatisch aktualisiert, so dass Sie die Seite einfach um weitere 300 Sekunden aktualisieren können. – Gordon
btw. kleiner Tippfehler dort;) '$ namespace = new Zend_Session_Namespace ('Zend_Auth');' Und du hast Recht, es wird jedes Mal zurückgesetzt wenn es aufgerufen wird, aus welchem Grund auch immer deine zweite Lösung nicht funktioniert (setze es int init()) - aber der erste funktioniert nur Dandy: D Vielen Dank! – Hannes