Jul 29, 2010
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']); } ... }
No related posts.
Ähnliche Artikel bereitgestellt von Yet Another Related Posts Plugin.











Thank you! This article has been helpful for me. I was just looking for how to pass a parameter from admin-generator to form
Thanks for this info, it took a little digging to realise that the GeneratorConfiguration class you are talking about is actually in:
/apps//modules//lib/GeneratorConfiguration.class.php
but that was my fault for not RTFM
Your code helped with my project