Conceito e mecanismo
A versão de API faz parte da análise de segurança. A documentação atual indica que operações de base de dados passam a usar user mode por defeito em API 67; exemplos de API 66 ou anteriores podem depender de system mode. Declarar intenção explicitamente reduz ambiguidades durante atualizações. with sharing refere-se à partilha de registos e, por si só, não equivale a todos os controlos de CRUD e field-level security. Rever também o modo da operação e o contrato de dados. Security.stripInaccessible pode apoiar uma resposta que omita campos inacessíveis; é necessário usar o resultado sanitizado e decidir como explicar a informação indisponível.
Aplicação guiada
Para expor Apex a LWC, o método tem de ser static, public ou global, e anotado com AuraEnabled; o acesso à classe continua necessário. Não transformar uma falha de autorização em zeros financeiros nem resolver uma regressão concedendo acesso excessivo. Em Visualforce, uma controller extension pode acrescentar comportamento a um StandardController através do construtor apropriado, preservando as ações standard relevantes. A apresentação de texto externo exige encoding de acordo com o contexto. Desativar escaping para mostrar formatação pode transformar dados em markup; HTML e JavaScript têm necessidades diferentes. Os exemplos do curso não generalizam afirmações antigas de system mode para todas as versões nem usam a descrição resumida de triggers de uma fonte que apresentou ambiguidade.
Depois de uma atualização de API, um utilizador deixa de ler um campo restrito. A equipa revê o contrato, omite o campo quando apropriado e testa utilizadores representativos. Forçar system mode apenas para eliminar a mensagem contrariaria o requisito de acesso.
Armadilhas comuns
with sharing como sinónimo de FLS; sanitizar mas devolver a lista original; labels ou CSS como controlo de acesso; escape false para qualquer texto autenticado.
Tópicos relacionados: Modelo de dados, identidade e metadados · Coleções e escolha entre configuração e código · Consultas, DML e resultados de erro
Identificar versão, identidade, modo de acesso e contexto de saída. Autorização e apresentação são responsabilidades distintas.
Referência: Secure Apex Classes · Platform Developer guide Summer 25