Datensicherheit und Liquid

Abgeschlossen

Liquid-Erweiterungen in Power Pages bieten Erstellern Zugriff auf Microsoft Dataverse. Tabellenberechtigungen steuern alle Daten, auf die Liquid-Objekte und ‑Tags zugreifen. Diese Funktion kann nicht deaktiviert werden. Mit Tabellenberechtigungen wird die Ausgabe auch dynamisch, da sie je nach aktuellem Websitebenutzer, den Webrollen und den zugehörigen Tabellenberechtigungszeilen variiert.

Um die Renderingleistung zu verbessern und die Vorlage entsprechend den aktuellen Benutzerrechten zu ändern, können Entwickler bestimmte Zugriffsrechte geltend machen, bevor der Datenabruf implementiert wird. Anstatt beispielsweise auf Kontaktdatensätze zuzugreifen, überprüfen Entwickler, ob der Benutzer über Leserechte für die Kontakttabelle verfügt, und verarbeiten dann die Antwort entsprechend, ohne die Daten abzurufen.

Schauen Sie sich das folgende Liquid-Fragment an:

{% 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 %}

In diesem Beispiel schießt der Code folgende Aktionen ab:

  1. Zeigt Daten nur an, wenn der Benutzer angemeldet ist

  2. Ruft den übergeordneten Kontodatensatz ab

  3. Überprüft, ob das Konto vorhanden ist und der Benutzer Berechtigungen zum Lesen dieses Datensatzes hat Die Eigenschaft Permissions des Objekts Tabelle gibt das Objekt Tabellenberechtigungen zurück, das Sie zur Überprüfung bestimmter Rechte verwenden können.

  4. Zeigt den Namen des Kontos an, falls verfügbar.

    Andernfalls wird die Meldung „Unbekanntes Unternehmen“ angezeigt.

  5. Zeigt für anonyme Besucher eine allgemeine Nachricht an.

Sie können den Code im Power Pages-Designstudio testen und anschließend zur Website navigieren. Überprüfen Sie die verschiedenen Werte, die der Code aufgrund der Entwicklerrechte im Designstudio rendert.

Weitere Informationen finden Sie unter Liquid-Übersicht.