RBAC mit Domains API
Eine benutzerfreundlichere API für RBAC mit Domains. Diese API ist eine Teilmenge der Management-API. Die RBAC-Benutzer können diese API verwenden, um den Code zu vereinfachen.
Referenz
globale Variable e
ist Enforcer Instanz.
e, err := NewEnforcer("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv")
const e = await newEnforcer('examples/rbac_with_domains_model.conf', 'examples/rbac_with_domains_policy.csv')
$e = new Enforcer('examples/rbac_with_domains_model.conf', 'examples/rbac_with_domains_policy.csv');
e = casbin.Enforcer("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv")
var e = new Enforcer("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv");
let mut e = Enforcer::new("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv").await?;
Enforcer e = new Enforcer("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv");
GetUsersForRoleInDomain()
GetUsersForRoleInDomain holt die Benutzer, die eine Rolle innerhalb einer Domain haben.
Zum Beispiel:
res := e.GetUsersForRoleInDomain("admin", "domain1")
const res = e.getUsersForRoleInDomain("admin", "domain1")
res = e.get_users_for_role_in_domain("admin", "domain1")
GetRolesForUserInDomain()
GetRolesForUserInDomain erhält die Rollen, die ein Benutzer innerhalb einer Domain hat.
Zum Beispiel:
res := e.GetRolesForUserInDomain("admin", "domain1")
const res = e.getRolesForUserInDomain("alice", "domain1")
res = e.get_roles_for_user_in_domain("alice", "domain1")
List<String> res = e.getRolesForUserInDomain("admin", "domain1");
GetPermissionsForUserInDomain()
GetPermissionsForUserInDomain erhält Berechtigungen für einen Benutzer oder eine Rolle innerhalb einer Domäne.
Zum Beispiel:
res := e.GetPermissionsForUserInDomain("alice", "domain1")
List<List<String>> res = e.getPermissionsForUserInDomain("alice", "domain1");
AddRoleForUserInDomain()
AddRoleForUserInDomain fügt eine Rolle für einen Benutzer innerhalb einer Domain hinzu. Gibt false zurück, wenn der Benutzer bereits die Rolle hat (aka nicht betroffen).
Zum Beispiel:
ok, err := e.AddRoleForUserInDomain("alice", "admin", "domain1")
ok = e.add_role_for_user_in_domain("alice", "admin", "domain1")
boolean ok = e.addRoleForUserInDomain("alice", "admin", "domain1");
DeleteRoleForUserInDomain()
DeleteRoleForUserInDomain löscht eine Rolle für einen Benutzer innerhalb einer Domäne. Gibt false zurück, wenn der Benutzer nicht die Rolle hat (aka nicht betroffen).
Zum Beispiel:
ok, err := e.DeleteRoleForUserInDomain("alice", "admin", "domain1")
boolean ok = e.deleteRoleForUserInDomain("alice", "admin", "domain1");
DeleteRolesForUserInDomain()
DeleteRolesForUserInDomain löscht alle Rollen eines Benutzers innerhalb einer Domäne. Gibt false zurück, wenn der Benutzer keine Rollen hat (aka nicht betroffen).
Zum Beispiel:
ok, err := e.DeleteRolesForUserInDomain("alice", "domain1")
GetAllUsersByDomain()
GetAllUsersByDomain würde alle Benutzer erhalten, die mit der Domain verbunden sind. Gibt ein leeres String Array zurück, wenn keine Domäne im Modell definiert ist.
Zum Beispiel:
res := e.GetAllUsersByDomain("domain1")
LöschenAllUsersByDomain()
DeleteAllUsersByDomain würde alle Benutzer löschen, die dieser Domain zugeordnet sind. Gibt false zurück, wenn keine Domäne im Modell definiert ist.
Zum Beispiel:
ok, err := e.DeleteAllUsersByDomain("domain1")
Löscht Domains()
DeleteDomains würden alle zugehörigen Benutzer und Rollen löschen. Es würde alle Domänen löschen, wenn kein Parameter angegeben wird.
Zum Beispiel:
ok, err := e.DeleteDomains("domain1", "domain2")
GetAllDomains()
GetAllDomains would get all domains.
For example:
res, _ := e.GetAllDomains()
note
If you are handling a domain like name::domain
, it may lead to unexpected behavior. In Casbin, ::
is a reversed keyword, just like for
, if
in a programming language, we should never put ::
in a domain.