Segurança & Server Actions🌐 Esta página em: English · Português O eQuantic.UI facilita a comunicação entre cliente e servidor através das Server Actions, garantindo que essa ponte seja segura por padrão.
Uma Server Action é um método C# definido num componente que pode ser invocado diretamente do browser. O compilador gera automaticamente a ponte de chamada (Fetch API) e o middleware do servidor resolve a execução.
[Authorize(Roles = "Admin")]
public async Task<bool> DeleteUser(Guid userId) {
// Lógica executada apenas no servidor
O eQuantic.UI suporta os atributos [Authorize] e [AllowAnonymous].
•
O ServerActionsMiddleware verifica se o usuário atual tem as permissões necessárias antes de invocar o método.
•
Se a autorização falhar, o servidor devolve 403 Forbidden ou 401 Unauthorized, bloqueando a execução da lógica de negócio.
Para prevenir ataques de injeção e consumo excessivo de recursos:
•
Limite de tamanho: o middleware impõe limites estritos ao tamanho do corpo da requisição.
•
Whitelist de tipos: a desserialização de argumentos é restrita a tipos conhecidos e seguros, prevenindo ataques de desserialização insegura.
Apenas métodos explicitamente marcados com [ServerAction] podem ser invocados. Não é possível chamar qualquer método público arbitrário via API, o que mantém a superfície de ataque controlada.
📡 Protocolo de comunicação
A comunicação é feita via HTTP POST no endpoint reservado /_equantic/action.
•
Payload: contém o ID único da ação e a lista de argumentos serializados.
•
Resposta: devolve o objeto de resultado ou um erro estruturado.