Masquer les menus non autorisés dans les ACL

Je fais une liste d’ACL pour que des users puissent accéder à certaines options de gestion, et j’aimerai savoir s’il est possible de cacher les menus que ces users ne pourront pas utiliser ?

Merci à tous

Salut,

Si tu parles de Wazo-ui, il n’y a pas de filtrage de la vue (du menu) en fonction des acls de l’utilisateurs.

Il verra donc les menus, mais aura des erreurs si il n’a pas les droits.
En soit, ce n’est pas un frein.

C’est marrant que tu en parles, car en début de semaine, j’ai fait un listing de toutes les acls.

Mais pour l’instant, j’ai mis de côté, car certains formulaires impliquent différentes acls
et si on veut faire quelques choses de fin, en terme de gestion de droit, ça peut être vite compliqué.

par exemple, quand tu vas dans le menu voicemails (gestion des utilisateurs / messagerie, en français, il me semble)
tu as ces acls qui entrent en jeux:

"confd.voicemails.#",
"confd.voicemails.create",
"confd.voicemails.read",
"confd.voicemails.{voicemail_id}.delete",
"confd.voicemails.{voicemail_id}.read",
"confd.voicemails.{voicemail_id}.update",
"confd.asterisk.voicemail.zonemessages.read", // surprise !! tu en auras besoin !

Et cet exemple est le plus simple que j’ai trouvé …
Pour certains formulaires, ça peut être bien plus tordus que ça.

cheers !

Re,
ça répond plus à l’autre thread pour le coup :slight_smile:
je mets une conf basique en place, pour laquelle je ne donne que les accès que j’accorde généralement.

Pour l’UI, ce n’est pas du tout un frein, c’est par simple principe de ne pas montrer ce à quoi on ne peut pas accéder.
“Et pourquoi ch’peux pas aller là moi ?”
“Parce que tu n’as pas le droit mon chéri client”
“C’est pas juste, les autres y z’ont l’droit”
“Non, pas plus que toi…”

Bref, tu vois le genre…
Du coup, ça évite aussi qu’ils me demandent des services que je ne veux pas mettre à leur disposition.
C’est imaginable de pouvoir “cocher” des menus qu’on veut afficher ou pas pour des users ?

C’est un peu comme de pouvoir attribuer plusieurs tenants (mais pas tous) à un même user, c’est une option qui pourrait s’avérer sympa non ? ça évite de se casser la tête quand on créée et organise des tenants :sweat_smile:

C’est imaginable, oui, mais wazo-ui n’est pas fait pour ça.
Et la logique actuelle c’est soit tu es user, soit tu es administrateur de tout.

Mais ta demande est réalisable techniquement.
En revanche, ça peut être un peu fastidieux pour la mise en place.

[quote="ZaleXxXx, post:3, topic:1611]
C’est un peu comme de pouvoir attribuer plusieurs tenants (mais pas tous) à un même user, c’est une option qui pourrait s’avérer sympa non ?
[/quote]

Là aussi possible, et chose intelligente !

Mais demande un code trop spécifique !
par défaut, l’administrateur dans le tenant Master verra tous les sous tenant, car on utilise l’acl:
“auth.tenants.read”,
pour lister les tenants (c’est la vue par défaut).
Or, pour cet user, il faudrait ne pas avoir ce droit là, et rechercher les tenants à afficher uniquement en se basant sur la listes d’acls
“auth.tenants.{tenant_uuid}.#”,
récupérer le ou les tenant_uuid, et faire une requête pour chaque pour avoir la liste des tenants dont il a le droit.

"tenants": [
            "auth.tenants.#",
            "auth.tenants.create",
            "auth.tenants.read",
            "auth.tenants.{tenant_uuid}.delete",
            "auth.tenants.{tenant_uuid}.edit",
            "auth.tenants.{tenant_uuid}.read",
            "auth.tenants.{tenant_uuid}.domains.read"
        ],

Actuellement, ça fonctionne plus par tenant parent / enfant
Si ton user ne doit voir que certains tenants, ceux-ci doivent être enfant de son tenant.

Master
|_ client multi tenant
|                    |_ client 1
|                    |_ client 2
|_ autre client multi tenant
|                          |_ client 3
|                          |_ client 4

il verra donc tous les tenants enfants du sien, et donc pas de tri à faire.
C’est donc cette arborescence à adopter si tu veux filtrer les accès à un ou plusieurs tenants.

personnellement, je trouve que Wazo n’est pas encore prêt pour faire du multi tenant.
Pour cela, il faut régler tous les “soucis” listés dans ce ticket:
https://wazo-dev.atlassian.net/browse/WAZO-1288

cheers

Le tenant parent/enfant est la solution que j’utilise pour le moment pour ce tri, mais c’est toute une organisation à ne pas louper :smile:

Bon ben tant pis pour le fait de cacher les menus, c’est possible sur la version UC de Wazo, ils ont plutôt bien bossé le principe !

Merci pour ta réponse en tout cas :slight_smile:

1 Like