Seguridad de datos y Liquid

Completado

Las extensiones de Liquid en los portales de Power Apps dan acceso a los creadores de portales a Microsoft Dataverse. Los permisos de tabla rigen todos los datos accedidos por los objetos y etiquetas de Liquid, y no es posible desactivar esta característica. Esto también hace que la salida sea dinámica, ya que varía con el usuario actual del portal, sus roles web y los registros de permisos de la tabla asociada.

Para mejorar el rendimiento de representación y alterar la plantilla en respuesta a los privilegios de usuario actuales, los desarrolladores pueden conceder derechos de acceso particulares antes de implementar la recuperación de datos. Por ejemplo, en lugar de intentar acceder a los registros de contactos, los desarrolladores deberían comprobar si el usuario tiene privilegios de Lectura para la tabla de contacto y gestionar la respuesta de manera adecuada sin recuperar los datos.

Tenga en cuenta el siguiente fragmento de Liquid:

{% if user %}
<p>
  {% assign account = entities.account[user.parentcustomerid.id] %}
  {% if account and account.permissions.can_read %}
    Company: {{account.name}}
  {% else %}
    Unknown company
  {% endif%}
</p>  
{% endif %}

En este ejemplo el código:

  • Muestra datos solo si el usuario ha iniciado sesión.
  • Recupera el registro de la cuenta primaria.
  • Comprueba que la cuenta existe y que el usuario tenga permisos para leer ese registro. La propiedad Permisos del objeto tabla devuelve el objeto Permisos de tabla que se puede usar para comprobar privilegios específicos.
  • Muestra el nombre de la cuenta, si está disponible; de lo contrario, muestra el mensaje "Empresa desconocida".

Puede probar el código dentro de los portales de Studio de y luego navegar hacia el sitio. Compruebe los diferentes valores representados por el código debido a los privilegios de creador en los portales de Studio.

Para obtener más información, consulte Trabajar con plantillas de Liquid.