Super Admin
O Super Admin é o administrador de todo o sistema. Pode ser usado em modelos como RBAC, ABAC e RBAC com domínios. O exemplo detalhado é o seguinte:
[request_definition]
r = sub, obj, act
[policy_definition]
p = sub, obj, act
[policy_effect]
e = some(where (p.eft == allow))
[matchers]
m = r.sub == p.sub && r.obj == p.obj && r.act == p.act || r.sub == "root"
Este exemplo ilustra que, com a request_definition
, policy_definition
, policy_effect
e matchers
definidos, o Casbin determina se a solicitação pode corresponder à política. Um aspecto importante é verificar se o sub
é root. Se o julgamento for correto, a autorização é concedida, e o usuário tem permissão para realizar todas as ações.
Semelhante ao usuário root em sistemas Linux, ser autorizado como root concede acesso a todos os arquivos e configurações. Se quisermos que um sub
tenha acesso total a todo o sistema, podemos atribuir-lhe o papel de Super Admin, concedendo ao sub
permissão para realizar todas as ações.