ssag-core-def-02-seguranca-claims.mddocs/core/def/ssag-core-def-02-seguranca-claims.mdDefinir o modelo oficial de segurança do SSAG.Core, baseado em:
Acesso no SSAG.Core é sempre contextualizado por Projeto.
Permissões não existem isoladamente — elas existem dentro de um projeto ativo.
ssag:user_idssag:tenantssag:rolesssag:project_idssag:projectsssag:modulesMotivo:
As claims são geradas a partir de fontes governadas:
| Origem | Função |
|---|---|
| SYS_PRJ | Projetos disponíveis |
| SYS_PRJ_MOD | Módulos habilitados |
| SYS_MOH | Catálogo técnico de módulos |
| SYS_USR / SYS_PER | Usuários e perfis (futuro) |
A autorização deve ser implementada por policies, evitando if espalhado.
RequireProjectRequireModule:CADRequireModule:FINoptions.AddPolicy("RequireModule:CAD", policy =>
{
policy.RequireClaim("ssag:modules", "CAD");
});
Regras:
ProjectContextExemplo conceitual:
@if (ProjectContext.HasModulo("FIN"))
{
<MenuItem Text="Financeiro" />
}
O SSAG.Core utiliza um modelo de segurança previsível, extensível e auditável, pronto para:
⬅️ Anterior: ssag-core-def-01-contexto-projeto.md
➡️ Próximo: ssag-core-def-03-multitenancy.md