<?php // erstellenACLObjekt $acl = new Zend_Acl(); // Rollen definieren $acl->addrole (neu Zend_acl_role ('gäste')); // Definieren Sie die Gastrolle $ acl-> addrole (new Zend_acl_role ('user')); // Definieren Sie die Benutzerrolle // Definieren Sie die Ressource $ acl-> addresource (neu Zend_acl_resource ('index')); // Definieren Sie die Homepage-Ressource $ acl-> addresource (new Zend_acl_resource ('Profil')); // Definieren Sie die Ressource der persönlichen Daten // Berechtigungen $ acl-> zulassen ('Gast', 'Index'); // Besucher können die Homepage $ acl-> erlauben ('Benutzer', 'Index'); // Benutzer können auf die Homepage $ acl-> zugreifen ('Benutzer', 'Profil'); // Benutzer können auf persönliche Informationen zugreifen?>
<?php
class IndexController extends Zend_Controller_Action
{
public function init()
{
parent::init();
// Holen Sie sich die Rolle des aktuell angemeldeten Benutzer
$role = Zend_Auth::getInstance()-> getIdentity ()-> Rolle;
// Überprüfen Sie, ob der Benutzer die Berechtigung hat, auf die aktuelle Ressource zuzugreifen, wenn (!
$ this-> _ Redirect ('/error/nicht geschließt'); // Wenn keine Berechtigung vorliegt, leiten Sie die Fehlerseite} um
}
öffentliche Funktion IndexAction ()
{
// Homepage View} rendern}
}
?>
Im obigen Code wird die Init- Methode des Controllers verwendet, um die Rolle des derzeit angemeldeten Benutzers zu erhalten und die isalgedierte Methode der ACL aufzurufen, um zu überprüfen, ob der Benutzer die Berechtigung hat, auf die angegebene Ressource zuzugreifen. Wenn der Benutzer keine Berechtigung hat, wird das System es zu einer Fehlerseite umgeleitet.
Unabhängig davon, ob es sich um ein Berechtigungsmanagementsystem handelt oder sensible Seiten schützt, können die ACL -Komponenten des Zend -Frameworks leistungsstarke Unterstützung bieten, um sicherzustellen, dass Ihre Webanwendungen sicher und zuverlässig sind.