Oprávnění submitů podle práv

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Prochy
Člen | 91
+
0
-

Zdravim,

chtěl sem se zeptat, když mám např. formulář, který slouží, jak pro zobrazení údajů klienta, tak i k jejich editaci, tak bych chtěl povolit pouze zobrazení údajů a to tlačítko editace, aby měl přístup, který ho bude mít povolený.

Ukázka:

protected function createComponentClientForm($name){
	if($this->getUser()->isAllowed('client','view')){
		$form=new ClientForm();
		if(!($this->getUser()->isAllowed('client','edit')))
			unset($form['editClient']);
		return $form;
	}
}

public function editClientFormSubmitted(SubmitButton $button){
	if(($this->getUser()->isAllowed('client','edit'))){
	.......
	}
}

Tohle jediný mě napadlo, tak by mě zajímalo, jestli je možné to nějak napadnout, popřípadě jaké je lepší řešení.

Ot@s
Backer | 476
+
0
-

Samotného by mě zajímalo ideální řešení. Osobně uvozuju presentery (případně jejich metody včetně createComponent*) a objekty komponent vlastníma anotacemma s definicí příst. práv. V „BasePresenteru“ a „BaseControlleru“ via. checkRequirements() pak čekuju tyto anotace oproti ACLu.

Editoval Ot@s (19. 9. 2012 14:19)

Prochy
Člen | 91
+
0
-

Mě jde hlavně o to, jestli se dá ta moje varianta nějak obejít a zneužít toho, což by byl samozřejmě problém.