Segurança de dados e Liquid
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:
Exibe os dados somente se o usuário fez logon.
Recupera o registro da conta primária.
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.
Exibe o nome da conta, se disponível.
Caso contrário, exibira a mensagem "Empresa desconhecida".
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.