Aller au contenu | Aller au menu | Aller à la recherche

Le plugin Lizmap comme plugin de contrôle d'accès pour QGIS Server

Depuis le début de Lizmap-Web-Client toute la partie serveur reposait sur du code PHP. Avec Lizmap Web Client 3.4, qui sera publié très prochainement, une partie des fonctionnalités ont été développées au sein du plugin Lizmap pour ajouter des fonctionnalités à QGIS Server.

QGIS Server est une implémentation open source des normes WMS 1.3.0, 1.1.1 et 1.0.0, WFS 1.1.0 et 1.0.0 et WCS 1.0.0 défini par l'Open Geospatial Consortium (OGC). QGIS Server utilise QGIS comme backend pour la logique des couches SIG et le rendu cartographique. Étant donné que QGIS Bureautique et QGIS Server utilisent les mêmes bibliothèques de visualisation, les cartes publiées sur le web ont le même aspect que sous le SIG Bureautique.

Pour en savoir plus sur QGIS Server

Tout comme QGIS Bureautique, QGIS Server est extensible à l'aide de plugins Python. Il est par exemple possible d'ajouter un système de contrôle d'accès aux données dans QGIS Server Documentation.

La première fonctionnalité QGIS Server que nous avons implémentée dans le plugin Lizmap est un système de contrôle d'accès.

Nous avons implémenté 3 contrôles d'accès :

  • l'accès au projet
  • le filtre par utilisateur
  • l'accès aux couches du projet

Les 2 premiers contrôles étaient déjà présent. Dans la configuration Lizmap, il est possible de restreindre l'accès à un projet pour une liste de groupes d'utilisateur. Il est aussi possible de définir des règles de filtrage en fonction de l'utilisateur connecté ou non.

Le portage dans QGIS Server du filtre par utilisateur, grâce au plugin Lizmap, permet de filtrer des couches même si elles sont cachées dans un groupe de couche. Dans la version 3.3 de Lizmap Web Client et les précédentes, le filtrage par utilisateur des couches ne fonctionne que si la couche est affichée seule, car Lizmap Web Client ajoute des filtres aux requêtes envoyées à QGIS server. Dans Lizmap, il est possible de transformer un groupe de couche QGIS en une seule couche pour le client web. Il en découle des requêtes où n'apparaissent pas la couche à filtrer. Avec le plugin Lizmap pour Lizmap Web Client 3.4 toutes les couches seront filtrées correctement.

En faisant du plugin Lizmap, un plugin de contrôle d'accès pour QGIS Server, nous avons pu ajouter la possibilité de restreindre l'accès des couches d'un projet pour une liste de groupes d'utilisateur.

La possibilité de restreindre l'accès des couches d'un projet pour une liste de groupes d'utilisateurs permet de diffuser un projet QGIS, une carte Lizmap, avec un contenu qui peut varier en fonction de l'utilisateur.