-
Notifications
You must be signed in to change notification settings - Fork 1
Security
O eQuantic.UI facilita a comunicação entre o cliente e o servidor através de Server Actions, ao mesmo tempo que garante 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.
[ServerAction]
[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
ServerActionsMiddlewareverifica se o utilizador atual tem as permissões necessárias antes de invocar o método. - Se a autorização falhar, o servidor retorna um erro
403 Forbiddenou401 Unauthorized, bloqueando a execução da lógica de negócio.
Para prevenir ataques de injeção e excesso de consumo de recursos:
- Tamanho Limite: O middleware impõe limites rigorosos no tamanho do corpo da requisição.
- Whitelist de Tipos: A deserializaçã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, garantindo que a superfície de ataque seja controlada.
A comunicação é feita via HTTP POST para o endpoint reservado /_equantic/action.
- Payload: Contém o Action ID único e a lista de argumentos serializados.
- Resposta: Retorna o objeto resultado ou um erro estruturado.