数据安全与 Liquid

已完成

Power Pages 中的 Liquid 扩展支持制作者访问 Microsoft Dataverse。 表权限管理 Liquid 对象和标记访问的所有数据并且此功能无法关闭。 表权限还将输出设置为动态,因为输出随当前网站用户、其 Web 角色和关联表权限行的变化而改变。

为了改进绘制性能并更改模板响应当前用户的特权,开发人员可在实施数据检索之前检查特定访问权限。 例如,开发人员检查用户是否拥有联系人表的读取权限,然后在不检索数据的情况下适当处理响应,而非尝试访问联系人记录。

考虑以下 Liquid 片段:

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

在此示例中,代码可完成以下操作:

  1. 仅在用户登录时显示数据。

  2. 检索上级单位记录。

  3. 检查帐户是否存在以及用户是否拥有读取记录的权限。 对象的权限属性返回可用于验证特定特权的表权限对象。

  4. 显示客户名称(如有)。

    否则,它将显示“未知公司”消息。

  5. 向匿名访问者显示通用消息。

您可在 Power Pages 设计工作室中测试代码,然后转到站点。 检查由于设计工作室中的制作者特权而由代码呈现的不同值。

有关详细信息,请参阅 Liquid 概览