Dsao_Controller_Action_Helper_SessionToken Klassenreferenz

Aktion-Helfer für das Session-Token. Mehr ...

Aufstellung aller Elemente

Öffentliche Methoden

 hasValidToken ($suppressError=false)
 Gibt Gültigkeit des Session-Tokens zurück.
 init ()
 Initialisiert Session-Token.

Geschützte Attribute

 $_hasValidToken = false
 bool, ob gültiges Token vorhanden ist


Ausführliche Beschreibung

Aktion-Helfer für das Session-Token.

Autor:
DSAo-Md

http://www.gnu.org/licenses/gpl-3.0.html GNU Public License

Version:
SVN: $Id: SessionToken.php 519 2009-09-13 15:51:26Z saviola777 $

Definiert in Zeile 9 der Datei SessionToken.php.


Dokumentation der Elementfunktionen

Dsao_Controller_Action_Helper_SessionToken::hasValidToken ( suppressError = false  ) 

Gibt Gültigkeit des Session-Tokens zurück.

Parameter:
$suppressError bool, ob Fehlerausgabe unterdrückt werden soll
Rückgabe:
bool, Ob gültiges Token vorhanden

Definiert in Zeile 23 der Datei SessionToken.php.

00024   {
00025     // Kein gültiges Token und keine Fehlerunterdrückung
00026     if (!$this->_hasValidToken && !$suppressError)
00027     {
00028       // Ohne Umschweife umleiten
00029       $this->getActionController()->forward('token','error', 'default');
00030     }
00031 
00032     return (bool) $this->_hasValidToken;
00033   }

Dsao_Controller_Action_Helper_SessionToken::init (  ) 

Initialisiert Session-Token.

Die Methode prüft, ob ein Token in der Session vorhanden und gültig ist, sowie die Übereinstimmung des in der URL übergebenen Tokens. Ggf. wird ein neues Token generiert.

Rückgabe:
void

Definiert in Zeile 44 der Datei SessionToken.php.

Benutzt Dsao_Uri_Http::setToken().

00045   {
00046     // Falls Ajax-Anfrage vorliegt
00047     if ($this->getActionController()->isXmlHttpRequest())
00048     {
00049       $this->_hasValidToken = true;
00050 
00051       return;
00052     }
00053 
00054     // Namensbereich
00055     $namespaceToken = new Zend_Session_Namespace('token');
00056 
00057     // Falls Token übergeben wurde und in Session vorhanden ist
00058     if ($this->getActionController()->getUri()->token && isset($namespaceToken->token))
00059     {
00060       $this->_hasValidToken =
00061         ($this->getActionController()->getUri()->token == $namespaceToken->token);
00062     }
00063 
00064     // Falls Token gültig oder noch weitere Aktionen ausgeführt werden sollen,
00065     // dieses nehmen
00066     if (isset($namespaceToken->valid) || !$this->getRequest()->isDispatched())
00067     {
00068       Dsao_Uri_Http::setToken($namespaceToken->token);
00069     }
00070     // Ansonsten neues Token erstellen
00071     else
00072     {
00073       $namespaceToken->token = Dsao_Uri_Http::setToken();
00074       $namespaceToken->valid = true;
00075 
00076       // Anzahl Aufrufe, nach der Token ablaufen soll
00077       $expirationHops = (int) $this->getActionController()->getConfig()
00078         ->session->token->expiration->hops;
00079 
00080       // Zeit, nach der Token ablaufen soll
00081       $expirationTime = (int) $this->getActionController()->getConfig()
00082         ->session->token->expiration->time;
00083 
00084       // Zeit und Hops ungültig -> Hops auf 1 setzen
00085       if (!$expirationTime && !$expirationHops)
00086       {
00087         $expirationHops = 1;
00088       }
00089       // Falls Zeit gültig
00090       else if ($expirationTime > 0)
00091       {
00092         $namespaceToken->setExpirationSeconds($expirationTime, 'valid');
00093       }
00094 
00095       // Falls Hops gültig
00096       if ($expirationHops > 0)
00097       {
00098         $namespaceToken->setExpirationHops($expirationHops, 'valid');
00099       }
00100     }
00101   }


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Fri Sep 18 19:04:12 2009 für DSA online - Morgendaemmerung von  doxygen 1.5.7.1