Je travaille sur une application qui aura 6 groupes ARO afin de couvrir le spectre des autorisations requises. Il est vraiment préférable d'avoir des méthodes * _add, * _edit, * _index, * _view, etc. Cela ressemble à un peu de surcharge de code et de maux de tête de maintenance. Le « moins cher » comme je peux imaginer pour gérer avec routage est quelque chose comme:CakePHP w/ACL: La meilleure pratique pour de nombreux groupes est le routage?
// core: edit
function _edit($id = null)
{
// do stuff
}
function admin_edit($id = null)
{
$this->_edit($id);
}
function manager_edit($id = null)
{
$this->_edit($id);
}
function clerk_edit($id = null)
{
$this->_edit($id);
}
/* ...and on and on... */
et Toss des restrictions si nécessaire pour, par exemple, un groupe étant autorisé à posséder des éléments de ne modifier utilisateur, ou quelque chose de similaire.
Y at-il une autre technique recommandée ou est-ce vraiment la meilleure pratique?
Vous pouvez vérifier cela - http://stackoverflow.com/questions/54230/cakephp-acl-database-setup-aro-aco-structure – bancer
Je ne vais pas pour la «meilleure pratique», mais si Je l'ai fait, ce ne serait pas un. – Leo
Parfois, il est utile de filtrer les utilisateurs. Je le fais dans la méthode beforeRender de app_controller pour définir certaines variables d'affichage. $ usersIndexAllowed = $ this-> Acl-> check ($ utilisateur, "users/index"); $ configureAllowed = $ this-> Acl-> check ($ utilisateur, "siteAdmins/configure"); $ this-> set (compact ('usersIndexAllowed', 'configureAllowed')); – Leo