eQuantic.UIeQuantic.UI
Docs
Playground
GitHub
Docspt-BR
Segurança & Server Actions
Edit this page
1 min read
🌐 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.
⚡ Server Actions
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.
Exemplo:
1
2
3
4
5
[ServerAction]
[Authorize(Roles = "Admin")]
public async Task<bool> DeleteUser(Guid userId) {
// Lógica executada apenas no servidor
}
🛡️ Camadas de proteção
1. Autorização (RBAC)
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.
2. Validação de payload
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.
3. Registro de ações
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.