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

  [Opened] Jauth at jacl2

Posted by info2012 on 09/23/2011 10:54

Bonjour,

Je suis sous jelix-1.3RC2-dev (et postgres). J'ai activé les modules jauth et jacl2, afin de gérer les droits par controleur de module, mais je n'arrive pas à le faire. Dès qu'un auteur est connecté, il a accès au controleur même s'il n'a pas les droits.

Voilà ce que j'ai fait:

  • installation des modules:
php cmd.php installmodule jauth
php cmd.php installmodule -p defaultuser jauthdb
php cmd.php installmodule jacl2db
  • création des droits:
php cmd.php acl2right subject_create "devis.admindevis.read" "devis~devis.admindevis.read"
php cmd.php acl2right subject_create "devis.admindevis.create" "devis~devis.admindevis.create"
php cmd.php acl2right subject_create "devis.admindevis.update" "devis~devis.admindevis.update"
php cmd.php acl2right subject_create "devis.admindevis.delete" "devis~devis.admindevis.delete"
php cmd.php acl2right subject_create "devis.admindevis.list" "devis~devis.admindevis.list"
php cmd.php acl2group  create "admin_devis"
php cmd.php acl2group -defaultgroup create "lecteurs"
php cmd.php acl2group createuser admin2
php cmd.php acl2group createuser user
php cmd.php acl2group createuser admin
php cmd.php acl2group adduser admin_devis admin
php cmd.php acl2group adduser admin_devis admin2
php cmd.php acl2right add  "admin_devis" "devis.admindevis.read"
php cmd.php acl2right add  "admin_devis" "devis.admindevis.create"
php cmd.php acl2right add  "admin_devis" "devis.admindevis.update"
php cmd.php acl2right add  "admin_devis" "devis.admindevis.delete"
php cmd.php acl2right add  "admin_devis" "devis.admindevis.read"
php cmd.php acl2right add  "admin_devis" "devis.admindevis.list"

Dans le controleur, j'ai mis:

public $pluginParams = array(
<code>
        '*' => array( 'jacl2.right.and'=>array('devis.admindevis.read','devis.admindevis.create','devis.admindevis.update','devis.admindevis.delete','devis.admindevis.list'))
   );
</code>

Quand je me connecte avec l'utilisateur user, j'ai les droits sur le controleur. Je suppose qu'il n'y a pas de vérification des droits par rapport aux auteurs de la table jlx_user? Je ne comprend pas comment on fait le lien entre jauth et jacl2. Dans la doc c'est indiqué que c'est automatique lorsqu'on installe jacl2db? (Je precise que les utilisateur ont bien été crées dans la table jlx_user.

A quoi sert le champ label_key de la table jacl2_subject?

Merci beaucoup.

  [Opened] Jauth at jacl2

Reply #1 Posted by laurentj on 09/23/2011 12:00

Bonjour,

Il semble que tu ais oublié de configurer le plugin jacl2 pour le coordinateur, c'est lui qui fait la vérification automatique et qui regarde ce que tu as mis dans $pluginParams.

Je ne comprend pas comment on fait le lien entre jauth et jacl2.

En fait, jauth et jacl2 sont assez indépendant. jAuth ne "connait" absolument pas jAcl2, il ne l'utilise pas. Et jAcl2 récupère simplement le login de l'utilisateur connecté en session, et regarde alors les droits définis pour ce login, quand on lui demande de vérifier un droit.

Sinon, petite remarque : si il faut tout les droits pour accéder à toutes les actions de ton contrôleur, non seulement ça ne sert à rien alors d'avoir défini différent droits, mais de plus, si un utilisateur n'a qu'un des droits, il ne pourra rien faire en fait. Donc évite les "jacl2.right.and" sur "*".

A quoi sert le champ label_key de la table jacl2_subject?

à avoir un beau libellé dans l'interface d'administration des droits, (module jacl2db_admin).

  [Opened] Jauth at jacl2

Reply #2 Posted by info2012 on 09/23/2011 14:39

Bonjour Laurent,

Merci beaucoup pour tes réponses.

Pour la config de jacl2, j'ai mis driver=Db dans le fichier defaultconfig.ini.php et jacl2="index/jacl2.coord.ini.php dans le fichier index/config.ini.php

Pour la config de jauth, j'ai mis auth="index/auth.coord.ini.php" dans le fichier index/config.ini.php et dans auth.coord.ini.php, j'ai mis aussi driver = Db, j'ai aussi renseigné after_login et persistant_crypt_key.

Est-ce que j'ai oublié ou pas compris quelque chose?

Au départ j'avais juste indiqué devis.admindevis comme sujet juste pour tester mon installation, je voulais donner les droits pour tout sur le module à un utilisateur, est ce que je pouvais le faire aussi? Comme ça marchait pas j'ai défini les droits plus finement comme c'était indiqué dans la doc (avec read delete...).

 
Page
  1. Jauth at jacl2