Segurança de dados e Liquid

Concluído

As extensões do Liquid no Power Pages dão aos criadores acesso ao Microsoft Dataverse. As permissões de tabela controlam todos os dados que são acessados por objetos e marcas do Liquid, e não é possível desativar esse recurso. As permissões de tabela também tornam a saída dinâmica porque ela varia de acordo com o usuário atual do site, suas funções da Web e as linhas de permissão de tabela associadas.

Para melhorar o desempenho da renderização e alterar o modelo em resposta aos privilégios do usuário atual, os desenvolvedores podem verificar os direitos de acesso específicos antes de implementar a recuperação de dados. Por exemplo, em vez de tentar acessar registros de contato, os desenvolvedores verificarão se o usuário tem privilégios de leitura da tabela de contatos e, em seguida, cuidarão da resposta apropriadamente sem recuperar os dados.

Considere o fragmento do Liquid a seguir:

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

Neste exemplo, o código conclui as seguintes ações:

  1. Exibe os dados somente se o usuário fez logon.

  2. Recupera o registro da conta primária.

  3. Verifica se a conta existe e se o usuário tem permissões para ler esse registro. A propriedade Permissões do objeto tabela retorna o objeto Permissões de Tabela que você pode usar para verificar privilégios específicos.

  4. Exibe o nome da conta, se disponível.

    Caso contrário, exibira a mensagem "Empresa desconhecida".

  5. Exibe uma mensagem genérica para visitantes anônimos.

Você pode testar o código no estúdio de design do Power Pages e, depois, ir para o site. Verifique os diferentes valores que são renderizados pelo código devido aos privilégios do criador no estúdio de design.

Para obter mais informações, consulte Visão geral do Liquid.