Jul 29, 2010 2
Wie nutze ich die Rechteverwaltung in symfony admin generator formularen?
Wenn du bestimmt Felder oder Feldgruppen entfernen möchtest, wenn ein Benutzer nicht die dafür erforderlichen Rechte besitzt, musst du folgendes tun:
1. öffne deine action Klasse und füge folgendes ein:
public function preExecute() { parent::preExecute(); $this->configuration->setUser($this->getUser()); }
2. öffne die *GeneratorConfiguration Klasse und füge folgendes ein:
protected $user; public function setUser($user) { $this->user = $user; } public function getUser() { return $this->user; } public function getEditDisplay() { $fieldsets = parent::getEditDisplay(); if (!$this->getUser()->hasCredential('admin')) { unset( $fieldsets['Auth'][2], // field $fieldsets['Rights'] // field group ); } return $fieldsets; } public function getNewDisplay() { ... // see getEditDisplay } public function getFormOptions() { return array('user' => $this->getUser()); }
3. zuletzt öffne die *Form Klasse und füge folgendes ein:
public function configure() { ... if (!$this->getOption('user')->hasCredential('admin')) { unset($this['is_super_admin'], $this['groups_list'], $this['permissions_list']); } ... }


Letzte Kommentare