Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [résolu]acl2::check sur une ressource précise

Posted by gdugas on 10/16/2011 17:49

Bonjour à tous,

J'ai pu voir dans la documentation que l'on pouvait vérifier des permissions sur une ressources précise: jAcl2::check("cms.articles.update", $article_id)
Je ne comprend pas trop ce que cela signifie, car lorsqu'on défini des permissions, ce sont des permissions globales, et non pas sur une ressource précise?
Quelqu'un pourrait t'il donner quelques précision sur l'utilisation d'acl2::check sur une ressource précise ?

  [Opened] acl2::check sur une ressource précise

Reply #1 Posted by foxmask on 10/16/2011 20:37

Hé bien justement, si on n'écrivait que jacl2::check("cms.articles.update"); on permettrait à tout le monde de modifier un article, son auteur et tous les autres

avec jacl2::check("cms.articles.update,$article_id"); on vérifie que la mise à jour de l'article dont l'id est $article_id est possible. ce qui réduit le filtrage. de tout à moins de monde.

Exemple dans le présent forum, l'édition des sujets se fait comme l'exemple le montre, sur vérification d'une ressource.


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] acl2::check sur une ressource précise

Reply #2 Posted by gdugas on 10/17/2011 10:15

En fait ce que je n'ai pas saisi, c'est techniquement comment s'effectue le contrôle. Dans le cas de ce forum, je suppose que le contrôle se fait en vérifiant quel est l'auteur du message. Il faut donc que la définition de l'auteur dans la dao ai un label particulier, ou le spécifier quelques part ?

  [Opened] acl2::check sur une ressource précise

Reply #3 Posted by laurentj on 10/17/2011 12:02

Salut,

Quand tu crée l'article en base, il faut que tu assignes dans jacl2 les droits sur l'article en question, sinon, le check renverra false.

// droit sur l'utilisateur lui même
$id_group_user = jAcl2DbUserGroup::getPrivateGroup();
// ou autre group que tu veux
$id_group_user = '...';

jAcl2DbManager::addRight($id_group_user, "cms.articles.update", $article_id);

Bien sûr, quand l'article est supprimé, il faut que tu fasses l'inverse avec removeRight.

  [Opened] acl2::check sur une ressource précise

Reply #4 Posted by gdugas on 10/17/2011 13:08

Super, c'est beaucoup plus clair désormais.
Merci à vous pour ces indications, et bonne continuation.

 
Page
  1. acl2::check sur une ressource précise