= Contrôler les Droits d'Accès au Projet = [[TracNav]] [[TOC(inline)]] == Les Permissions Standards == Trac permet par défaut d'attribuer de façon discrétionnaire et séparée par utilisateur ou groupe d'utilisateurs des permissions par de type lecture, création, modification pour chacune des fonctionalités (wiki, ticket, roadmap...). Avec les permissions par défaut, on donne donc à un utilisateur, l'accès à toutes les pages wiki ou aucune, à tous les tickets ou aucun, à tous les fichiers ou aucun... La gestion des groupes d'utilisateur et l'attribution des permissions se fait depuis le menu `Admin`, `Général->Permissions`. Les utilisateurs peuvent être regroupés en ''groupe'' et on peut assigner les permissions aux groupes plutôt qu'aux utilisateurs. Dans ce cas, il faut entrer le nom du groupe pour le champ `Sujet`. Trac crée 2 groupes par défaut dont les membres contiennent les utilisateurs du projet en fonction du fait qu'il se sont authentifiés ou non : * `authenticated` : tous les utilisateurs qui se sont ''connectés'' avec succès (lien ''Connexion'' ou ''Login''). * `anonymous` : tous les utilisateurs qui ne se sont pas ''connectés'' (lien ''Connexion'' ou ''Login''). == Permissions par Page (Grain fin) == Il est aussi possible de définir des permissions par ''objet'', par exemple par page ou arborescence de page wiki. Pour cela il faut verifier que le plugin `Authz` est bien activé dans la page `Admin`, menu `Général->Extensions` (ou `General->Plugins` en anglais). Sinon l'activer. Après avoir activé le plugin, il faut créer un fichier `authz.txt` (ou tout autre nom de votre choix) qui doit contenir des sections du genre: {{{ [wiki:WikiStart@*] anonymous = WIKI_VIEW }}} Après `wiki:` il est doit y avoir un nom de page wiki, contenant éventuellement le wildcard `*`. Après le nom de la page on peut mettre `@*` pour donner accès à toutes les versions de la page. Une fois créé le fichier doit être téléchargé en utilisant dans la page `Admin` le menu `Siteupload->file` puis le nom du fichier doit être indiqué dans le paramètre `auth_file` du menu `trac.ini->authz_policy` de la page `Admin`. Le nom de fichier entré pour le paramètre doit être préfixé par `/trac-projects/trac/`''nom_projet''`/htdocs/` (avec ''nom_projet'', le nom du projet tel qu'il apparait dans les URLs). Enfin pour activer l'authentification ''fine grained'', il faut aller dans le menu `trac.ini->trac` et mettre la valeur suivante dans le paramètre `permission_policies` : {{{ AuthzPolicy,DefaultPermissionPolicy, LegacyAttachmentPolicy }}} Les utilisateurs pour lesquels on veut contrôler le droit d'accès par les permissions ''fined grained'' ne doit pas recevoir de permission par les permissions par défaut. Par exemple, dans l'exemple ci-dessus, `anonymous` ne doit pas avoir la permission `WIKI_VIEW` par défaut.