eQuantic.UIeQuantic.UI
Docs
Playground
GitHub
START HERE
Getting Started
WRITE-ONCE
Write-Once Components
Declarative Surface
Photon Engine
Design System
Capabilities
Storage
Forms
Code Editor
Markdown
Mermaid
Email Rendering
ARCHITECTURE
Architecture Overview
Package Architecture
Components
Styling
Localization
Analytics & GTM
COMPILATION
Compiler
Compile-Time Evaluation
Supported C# Features
External Type Resolution
Build Flow
Diagnostics
RUNTIME
Runtime (TypeScript)
Performance
SERVER
Server Integration
Assets
BunPackage
Security
ECOSYSTEM
Image
Charts
Icons
Lottie
DEVELOPMENT
Visual Editor
Debug
Roadmap
PT-BR
Analytics-pt-BR
Architecture-pt-BR
Assets-pt-BR
BuildFlow-pt-BR
BunPackage-pt-BR
Capabilities-pt-BR
Charts-pt-BR
CodeEditor-pt-BR
Compiler-pt-BR
CompileTimeEvaluation-pt-BR
Components-pt-BR
Debug-pt-BR
DeclarativeSurface-pt-BR
DesignSystem-pt-BR
Diagnostics-pt-BR
EmailRealizer-pt-BR
ExternalTypeResolution-pt-BR
Forms-pt-BR
GettingStarted-pt-BR
Home-pt-BR
Icons-pt-BR
Image-pt-BR
Localization-pt-BR
Lottie-pt-BR
Markdown-pt-BR
Mermaid-pt-BR
PackageArchitecture-pt-BR
Performance-pt-BR
Photon-pt-BR
Roadmap-pt-BR
Runtime-pt-BR
Security-pt-BR
ServerIntegration-pt-BR
Storage-pt-BR
Styling-pt-BR
SupportedFeatures-pt-BR
VisualEditor-pt-BR
WriteOnceComponents-pt-BR
ACTIONS & INPUTS
Button
IconButton
TextInput
Select
Checkbox
Switch
RadioGroup
SegmentedControl
Slider
Stepper
SearchField
SURFACES & DISPLAY
Card
Badge
Chip
Avatar
Banner
ProgressBar
EmptyState
Divider
NAVIGATION
Tabs
AppBar
BottomNavigation
Breadcrumb
Pagination
PageIndicator
Menu
Drawer
OVERLAYS
Dialog
BottomSheet
Toast
Popover
Tooltip
LISTS & DATA
List
ListView
Table
Accordion
CodeBlock
TOUCH INTERACTION
PullToRefresh
SwipeableRow
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.