数据安全与 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 %}
在此示例中,代码可完成以下操作:
仅在用户登录时显示数据。
检索上级单位记录。
检查帐户是否存在以及用户是否拥有读取记录的权限。 表对象的权限属性返回可用于验证特定特权的表权限对象。
显示客户名称(如有)。
否则,它将显示“未知公司”消息。
向匿名访问者显示通用消息。
您可在 Power Pages 设计工作室中测试代码,然后转到站点。 检查由于设计工作室中的制作者特权而由代码呈现的不同值。
有关详细信息,请参阅 Liquid 概览。