Sécurité des données et Liquid

Effectué

Les extensions Liquid dans Power Pages permettent aux créateurs d’accéder à Microsoft Dataverse. Les autorisations de table régissent toutes les données appelées par les objets et balises Liquid, et toute désactivation de cette fonctionnalité est impossible. Les autorisations de table rendent également la sortie dynamique, car elle varie en fonction de l’utilisateur actuel du site web, de ses rôles web et des lignes d’autorisation de table associées.

Pour améliorer les performances de rendu et modifier le modèle en réponse aux privilèges utilisateur actuels, les développeurs peuvent vérifier des droits d’accès particuliers avant d’implémenter l’extraction de données. Par exemple, au lieu d’essayer d’accéder aux enregistrements de contact, les développeurs doivent vérifier si l’utilisateur possède des privilèges de lecture pour la table de contact et gérer la réponse de manière appropriée sans récupérer les données.

Examinez le fragment de code Liquid suivant :

{% if user %} <!-- 1 -->
<p>
  {% assign account = entities.account[user.parentcustomerid.id] %} <!-- 2 -->
  {% if account and account.permissions.can_read %} <!-- 3 -->
    Company: {{account.name}} <!-- 4 -->
  {% else %}
    Unknown company <!-- 5 -->
  {% endif%}
</p>
{% else %}
<p>We are unable to provide any information to anonymous visitors.</p> <!-- 6 -->
{% endif %}

Dans cet exemple, le code effectue les actions suivantes :

  1. Affiche les données uniquement si l’utilisateur est connecté.

  2. Récupère l’enregistrement du compte parent.

  3. Vérifie que le compte existe et que l’utilisateur est autorisé à lire cet enregistrement. La propriété Permissions de l’objet table renvoie l’objet Autorisations de table qui vous permet de vérifier des privilèges spécifiques.

  4. Affiche le nom du compte, le cas échéant.

    Sinon, elle affiche le message « Société inconnue ».

  5. Affiche un message générique pour les visiteurs anonymes.

Vous pouvez tester le code dans le studio de conception Power Pages, puis accéder au site. Vérifiez les différentes valeurs rendues par le code en raison des privilèges de créateur au sein du studio de conception.

Pour en savoir plus, consultez Présentation de Liquid.