Conceito e mecanismo
Uma aplicação segura distingue acesso ao menu, execução de código, acesso entre scopes e acesso a dados. Esconder um módulo não impede que alguém tente abrir o URL de um registo. Uma ACL considera a operação e o recurso; acesso à tabela não resolve automaticamente acesso a cada campo. Regras podem combinar roles, condições e scripts. Identifica a regra aplicável e testa com uma identidade representativa, evitando conclusões baseadas apenas em admin. Scoped GlideSystem hasRole devolve true para um administrador, pelo que esse teste pode ocultar falta da role esperada num operador. Na documentação atual, uma Deny-Unless aplicável que falha pode negar acesso apesar de uma Allow-If favorável. Regista também testes negativos: o utilizador sem autorização deve continuar bloqueado.
Aplicação guiada
Um Script Include reutiliza lógica no servidor. Torná-lo client callable cria outra superfície de acesso: verifica ACL de execução, entradas, dados devolvidos e autorização sobre registos. Uma role enviada pelo browser não é prova da identidade efetiva. A documentação recomenda GlideRecordSecure para operações que devem respeitar acesso aos dados, mas isso não dispensa regras de negócio e validação do pedido. Protection policy protege código como propriedade intelectual; não é a ACL dos dados que o código consulta. De igual modo, permitir web services numa tabela não concede permissões ao utilizador da integração. Num incidente de exposição, limita a resposta ao contrato necessário, preserva evidência e corrige a autorização no servidor. Nunca uses uma role administrativa ampla como demonstração de que o desenho mínimo está correto.
Método client callable deve autorizar o chamador antes de devolver campos confidenciais.
Armadilhas comuns
Menu como segurança; código protegido como dados protegidos; teste apenas com admin.
Tópicos relacionados: Necessidade, dados e desenho · Scope, módulos e dependências · Formulários e lógica cliente/servidor
Verifica cada fronteira de acesso e o resultado observado.
Referência: Script Includes · CAD blueprint January 2026