Jak správně ověřovat práva ACL

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

Zdravím,
zajímalo by mě, jak správně z hlediska frameworku, ověřovat oprávnění uživatelů? Kam dát definice resources a definice rolí? A kde to následně ověřovat?

Napadlo mě následující:
Do BasePresenteru:

public function startup() {
	parent::startup();
	$acl = new Nette\Security\Permission;
	$acl->addRole("admin");
	...
}

a potom také v BasePresenteru:

public function beforeRender() {
	if(!$this->getUser()->isAllowed($this->name, $this->view)) {
		...
	}
}

Nebo jinak?

Všem předem děkuji za odpověď

Editoval eldest (14. 8. 2013 21:28)

enumag
Člen | 2118
+
0
-

Autorizátor (tedy Permission) by v prvé řadě mělo být registrované jako služba. Já to dělám takto.

Ověřování osobně nejraději dělám v metodě Presenter::checkRequirements().