Öffentliche Methoden | |
| preDispatch () | |
| Wird von Zend vor dem Dispatchen aufgerufen. | |
Geschützte Attribute | |
| $_acl = null | |
| Zend_Acl, Objekt, welches alle Rollen und Ressourcen sowie Zugriffsberechtigungen enthaelt. | |
Definiert in Zeile 9 der Datei AccessControl.php.
| Dsao_Controller_Action_Helper_AccessControl::preDispatch | ( | ) |
Wird von Zend vor dem Dispatchen aufgerufen.
Definiert in Zeile 23 der Datei AccessControl.php.
Benutzt Dsao_Registry::get().
00024 { 00025 // ACL-Objekt 00026 if (null === $this->_acl) 00027 { 00028 $this->_acl = Dsao_Registry::get('acl'); 00029 } 00030 00031 // Momentane Rolle 00032 $roleCurrent = $this->getActionController()->getUser()->getData('role', 'guest'); 00033 00034 // Filter 00035 $filterAcl = new Dsao_Filter_Acl($roleCurrent, $this->_acl); 00036 00037 // Falls nach dem Filtern noch etwas vorhanden ist, darf der 00038 // Benutzer auf die aufgerufene Aktion zugreifen 00039 if ($filterAcl->filter(array($this->getActionController()->getUri()))) 00040 { 00041 return true; 00042 } 00043 // Falls Benutzer nicht angemeldet, auf Login-Seite umleiten 00044 else if (!Zend_Auth::getInstance()->hasIdentity()) 00045 { 00046 // Link, auf den nach erfolgreichem Login wieder umgeleitet werden soll 00047 $redirectLink = str_replace('/', '_', $this->getActionController() 00048 ->getUri()->getUriString()); 00049 00050 // Weiterleiten 00051 $this->getActionController()->forward 00052 ('login', 'login', 'user', array('redirect' => $redirectLink)); 00053 00054 return false; 00055 } 00056 00057 // Ansonsten Fehlerseite anzeigen 00058 $this->getActionController()->forward('privileges', 'error', 'default'); 00059 00060 return false; 00061 }
1.5.7.1