Warnung, viel Zend Framework voraus!
Sie können 1. und 2. einfach mit Zend_Acl handhaben und Zend_Navigation .
Für Nummer 3 müssen Sie das ACL-Objekt in Ihrem Modell abfragen und vieles von Hand erledigen. Sie könnten Zend Framework auch für die Formulare verwenden und je nach Rollenberechtigung des Benutzers spezifische Formularelement-Validatoren einbinden.
BEARBEITEN:
Wenn Sie keine Lust haben, den ZF-Weg zu gehen, können Sie sich zumindest ansehen, wie die ACL in ZF gehandhabt wird.