[SPIP Zone] Acces restreint

Salut,

J'ai un admin restreint sur une rubrique 1.1 , cet auteur appartient a une zone qui ne contient que cette rubrique 1.1 .

Si cet auteur est un rédacteur alors il ne voit pas les autres rubriques. Mais l'auteur ne peut pas publier dans cette rubrique ( normal ).

alors est-ce que c'est un bug d'acces restreint ou est-ce que c'est moi qui ai mal compris ?

J'ai regarder le code des autorisations a première vue je ne vois pas de différence de fonctionnement que l'on soit 0minirezo ou 1comite...

un exemple de mes rubriques
-rubrique 1
    -rubrique 1.1
    -rubrique 1.2
-rubrique 2
    -rubrique 2.1

Vous avez des pistes ?
Merci par avance.

Yoann NOGUES (zerax) a écrit :

Salut,

J'ai regarder le code des autorisations a première vue je ne vois pas de différence de fonctionnement que l'on soit 0minirezo ou 1comite...
  

Le fonctionnement des autorisations me parait bizarre.
Il est dit dans le code "afin d'optimiser on prend les rubriques exclues", mais ce fonctionnement ne me semble pas cohérent.

un exemple :
si je reprends la structure :

-rubrique 1
    -rubrique 1.1
    -rubrique 1.2
-rubrique 2
    -rubrique 2.1

Je dois avoir un utilisateur qui a le droit de voir et publier ( coté privé ) dans la rubrique 1.1 et uniquement cette rubrique.
alors qu'il voit les autres rubriques a la limite ce n'est pas trés grave ( même si ce n'est pas le but ).
j'ai donc fait ces zones :
zone 1 : rubriques 1
zone 2 : rubriques 1.1
zone 3 : rubriques 2

l'auteur est attribué a la zone 2 .
Mais vu que le fonctionnement se base sur les rubriques exclues, alors la zone 1 bloque la visibilité de la zone 2.

Je sais pas si j'ai été trés clair.

Et ma question :
Avez-vous déjà eu ce genre de choses a faire ? donner un accès a une sous rubrique uniquement ?

Par avance merci

Yoann NOGUES (zerax) a écrit :

Et ma question :
Avez-vous déjà eu ce genre de choses a faire ? donner un accès a une sous rubrique uniquement ?

si j'ai bien compris, la réponse est dans le forum de acces_restreint :
   Le plugin Accès Restreint - SPIP-Contrib

(depuis les modifs de maquette de spip-contrib, c'est plus trop évident de s'y retrouver dans les forums...)

denisb a écrit :

Yoann NOGUES (zerax) a écrit :
  
Et ma question :
Avez-vous déjà eu ce genre de choses a faire ? donner un accès a une 
sous rubrique uniquement ?
    

si j'ai bien compris, la réponse est dans le forum de acces_restreint :
   

(depuis les modifs de maquette de spip-contrib, c'est plus trop évident 
de s'y retrouver dans les forums...)
  

en fait pas vraiment :stuck_out_tongue: mais merci quand même :slight_smile:

Le principe de fonctionnement est de voir toutes les rubriques restreintes par les zones auxquelles ne fais pas parti l’utilisateur et de les enlever des rubriques visibles. L’inconvénient est que si on défini une zone au milieu de l’arborescence( attribuée a l’utilisateur A ), et qu’il y a une autre zone qui contient tout un secteur ( pas attribuée a l’utilisateur A), alors tout le secteur est restreint.

Le fonctionnement est surtout génant coté partie privée dans mon cas.

Donc si on reprend :

-rubrique 1
    -rubrique 1.1
    -rubrique 1.2
-rubrique 2
    -rubrique 2.1

j'ai une zone X : rubrique 1( et donc ses sous rubriques )
j'ai une zone Y : rubrique 1.1 ( et ses sous rubriques )

L'utilisateur A (admin restreint de la rubrique 1.1) est associé a la zone Y : résultat : il n'a pas accès a la rubrique 1.1 ( du moins coté privé, pas testé coté public mais ca doit être la même chose ).
Et ce fonctionnement me parait incohérent. Alors j'ai peut-être mal défini mon arborescence, mais je n'ai d'autres choix dans ce cas.

Voila j'ai donc fait un petit patch, si ca intéresse je peux commiter mais a mon sens ca modifie pas mal le fonctionnement du plugin donc il faudrait en parler avant :)

Le fonctionnement voulu du patch : on va voir toutes les rubriques restreintes par des "zones" auxquelles l'autre ne fais pas partie, et on enléve de ces rubriques cencées être invisibles, les rubriques des zones auxquelles l'utilisateur fait partie. On peut donc avoir une rubrique accessible au milieu d'une arborescence.

Coté privé pour avoir accès a la rubrique 1.1, j'ai coché dans la zone Y la rubrique 1, comme ca on peut accéder a cette rubrique facilement en reprennant l'arborescence.

J'espére que j'ai été clair ( malgrè la compléxité de la gestion des droits )  avec tous les exemples si ce n'est pas le cas dites le moi :)

acces_restreint.patch (705 Bytes)

Yoann NOGUES (zerax) a écrit :

j'ai donc fait ces zones :
zone 1 : rubriques 1
zone 2 : rubriques 1.1
zone 3 : rubriques 2

l'auteur est attribué a la zone 2 .
Mais vu que le fonctionnement se base sur les rubriques exclues, alors la zone 1 bloque la visibilité de la zone 2.

Cela renvoie à tout le débat sur les règles d'héritage des droits. Grosso modo, pour le moment, pour avoir accès à une rubrique, il faut avoir accès à toutes ses rubriques parentes. En effet, dans le cas d'une navigation dans l'arborescence, on part toujours de la racine. Si l'individu a accès à 1.1 sans avoir accès à 1, lorsqu'il arrive sur l'espace privé il ne verra pas la rubrique 1. Or il faut déjà cliquer sur la rubrique 1 avant d'accéder à la rubrique 1.1.

Il apparait que dans le cas de droits d'accès, la particularité de l'héritage des droits fait que l'on doit avoir accès à toutes les rubriques parentes (cohérence de navigation). Le fonctionnement est donc légèrement différent par rapport à d'autres types de droits basés sur l'arborescence, tel que admin restreint, où il n'est pas nécessaire d'avoir les droits d'admin sur les rubriques parentes.

Cordialement

Jo

Joseph a écrit :

Yoann NOGUES (zerax) a écrit :

  
j'ai donc fait ces zones :
zone 1 : rubriques 1
zone 2 : rubriques 1.1
zone 3 : rubriques 2

l'auteur est attribué a la zone 2 .
Mais vu que le fonctionnement se base sur les rubriques exclues, alors 
la zone 1 bloque la visibilité de la zone 2.

    

Cela renvoie à tout le débat sur les règles d'héritage des droits. 
Grosso modo, pour le moment, pour avoir accès à une rubrique, il faut 
avoir accès à toutes ses rubriques parentes. En effet, dans le cas d'une 
navigation dans l'arborescence, on part toujours de la racine. Si 
l'individu a accès à 1.1 sans avoir accès à 1, lorsqu'il arrive sur 
l'espace privé il ne verra pas la rubrique 1. Or il faut déjà cliquer 
sur la rubrique 1 avant d'accéder à la rubrique 1.1.

Il apparait que dans le cas de droits d'accès, la particularité de 
l'héritage des droits fait que l'on doit avoir accès à toutes les 
rubriques parentes (cohérence de navigation). Le fonctionnement est donc 
légèrement différent par rapport à d'autres types de droits basés sur 
l'arborescence, tel que admin restreint, où il n'est pas nécessaire 
d'avoir les droits d'admin sur les rubriques parentes.

Cordialement

Jo
  

En fait, je suis en train de bosser sur une « amélioration » d’accés restreint concernant mes besoins mais je ne sais pas si ca peut intéresser du monde, car ca change pas mal le fonctionnement du plugin.
Je rajoute a cette modif ( patch précédent ) le fait que si on rajoute une rubrique, cette dernière hérite des droits de la rubrique parente.
Ainsi une rubrique crée dans une rubrique qui est déjà dans une zone se retrouvera automatiquement dans cette zone.

La ou le fonctionnement actuel me « bloque » c’est plus pour la partie privée. J’ai des administrateurs de rubriques ( admins restreint ) qui donc gère la publication au milieu de l’arborescence. Ils doivent donc pouvoir accéder a cette rubrique.
Pour cela je donne l’accès a toute l’arborescence jusqu’a cette rubrique via acces restreint. Vu que ce sont des admins restreint ils ne sont que rédacteurs dans ces rubriques de l’arborescence… donc un moindre mal car ils ne peuvent pas publier…
L’admin général peut au cas ou supprimer ou déplacer les articles éventuellement crées par inadvertance.

Mais si je rajoute toute l’arborescence a une zone alors il faut que je gère toutes les zones de cette façon. Ce qui n’est pas super génant dans mon cas.

Donc ma gestion des droits, je couple la gestion admin restreint a access restreint. Admin restreint gère l’aspect « droit de faire » et acces restreint gère le « droit de voir » . Ce qui permet d’alléger en fait l’interface pour ceux qui n’ont accès qu’a certaines rubriques.

Je ne sais pas encore ce que ca donne niveau perf, mais pour le moment c’est très raisonnable ( c’est une assez grosse arborescence 2000rubriques environ )

Je vous envoi le patch, vous voulez que je vous fasse un site de démo pour voir le fonctionnement ?

ps: J’étais jusque la sur le plugin acces restreint par groupes qui est totalement catastrophique niveau perf. Un site de 1000 rubriques avec 5 groupes fait complétement ramer le serveur ( dédié ).
Mais il collait a mes besoins…

ps2: je vais refaire un tour sur contrib et sur les articles d’acces restreint v2…

Yoann NOGUES (zerax) a écrit :

ps: J’étais jusque la sur le plugin acces restreint par groupes qui est totalement catastrophique niveau perf. Un site de 1000 rubriques avec 5 groupes fait complétement ramer le serveur ( dédié ).
Mais il collait a mes besoins…

ps2: je vais refaire un tour sur contrib et sur les articles d’acces restreint v2…

Le débat sur accès restreint est loin d’être fini. il y a déjà eu de nombreuses discussions sur la liste spip-zone, il y a environ un an, à ce sujet.
En plus de Accès Restreint V2 les objectifs, je te conseille également cette page de discussion sur gribouille : Cordialement