Le comportement par défaut dans Qlik Sense est de gérer l’accès aux applications en autorisant ou non l’accès au Stream/Flux pour Qlik Sense On-Premise et aux espaces dans Qlik Cloud.

Dans Qlik Sense On-Premise, grâce aux règles de sécurité et aux « custom properties », il est possible de gérer les accès à l’application, ce qui demande un petit travail supplémentaire d’administration.

La gestion de l’accès à la feuille peut être possible également mais au prix d’une complexification importante de l’administration du serveur.

Dans Qlik Cloud, l’administration du serveur étant fortement réduite, nous ne pouvons gérer les accès qu’à « l’Espace », et nous n’avons pas la possibilité de gérer l’accès à la feuille par le biais de la console d’administration.

Pour pouvoir gérer cela il y a les sections d’accès. Celles-ci filtrent la donnée remontée lors de l’ouverture de l’application par l’utilisateur. Nous allons nous baser sur ce comportement pour gérer nos accès aux différentes feuilles sans avoir besoin d’intervenir dans la console d’administration.

Qlik Sense - Coté script

Notre section d'accès gèrera l'accès à la ligne. Pour gérer plus facilement, on pourra déporter notre section d'accès dans un fichier Excel que l'on inclura dans notre script au chargement (fonction include de Qlik Sense)

Section Access;
Load * INLINE [
ACCESS, USER.EMAIL, ID_Sheet_Access
USER, Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser., 0
USER, Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser., 1
USER, Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser., 2
USER, Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser., *
ADMIN, Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.,
];

Une fois la section d’accès créée, il nous faut construire une table technique (sans lien avec le modèle) avec deux champs un ID et le niveau d'accès.

SheetAccess:
load * inline [
ID_Sheet_Access, Valeur
0,Gratuit
1,Payant
2,Premium
];

Lorsque mon utilisateur va se connecter sur son application, la section d'accès ne remontera qu'une valeur d'ID_Sheet_Access (par exemple dans le cas de l'utilisateur Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser., la table SheetAccess ID_Sheet_Access aura une ligne ayant pour valeur 1)

Qlik Sense - Coté feuille

On va sur chaque feuille de l'application ajouter une condition d'affichage sur la feuille type if(ID_Sheet_Access>=1, 1,0), si la condition n'est pas remplie la feuille ne s'affiche pas.

Nos consultants Next Decision sont experts certifiés Qlik et vous accompagnent dans votre projet Qlik. Nous pouvons également vous former ! Contactez-nous !