Rollen-Manager-API
Rollenmanager
RoleManager stellt eine Schnittstelle zur Verfügung, um die Operationen zur Verwaltung von Rollen zu definieren. Das Hinzufügen der passenden Funktion zum Rollenmanager ermöglicht die Verwendung von Platzhaltern in Rollennamen und Domain.
AddNamedMatchingFunc()
AddNamedMatchingFunc add MatchingFunc by ptype to RoleManager. MatchingFunc funktioniert beim Abspielen von Rollen.
- Go
- Node.js
e.AddNamedMatchingFunc("g", "", util.KeyMatch)
_, _ = e.AddGroupingPolicies([][]string{{"*", "admin", "domain1"}})
_, _ = e.GetRoleManager().HasLink("bob", "admin", "domain1") // -> true, nil
await e.addNamedMatchingFunc('g', Util.keyMatchFunc);
await e.addGroupingPolicies([['*', 'admin', 'domain1']]);
await e.getRoleManager().hasLink('bob', 'admin', 'domain1');
Zum Beispiel:
- Go
- Node.js
e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedMatchingFunc("g", "", util.MatchKey)
const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedMatchingFunc('g', Util.keyMatchFunc);
AddNamedDomainMatchingFunc()
AddNamedDomainMatchingFunc fügt MatchingFunc per ptype dem RoleManager hinzu. DomainMatchingFunc
ist ähnlich wie MatchingFunc
oben aufgelistet.
Zum Beispiel:
- Go
- Node.js
e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedDomainMatchingFunc("g", "", util.MatchKey)
const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedDomainMatchingFunc('g', Util.keyMatchFunc);
GetRoleManager()
GetRoleManager holt den aktuellen Rollenmanager für g
.
Zum Beispiel:
- Go
- Node.js
- Python
rm := e.GetRoleManager()
const rm = await e.getRoleManager();
rm = e.get_role_manager()
GetNamedRoleManager()
GetNamedRoleManager gets the role manager by named ptype.
Zum Beispiel:
- Go
- Node.js
- Python
rm := e.GetNamedRoleManager("g2")
const rm = await e.getNamedRoleManager("g2");
rm = e.get_named_role_manager("g2")
SetRoleManager()
SetRoleManager sets the current role manager for g
.
Zum Beispiel:
- Go
- Node.js
- Python
e.SetRoleManager(rm)
e.setRoleManager(rm);
rm = e.set_role_manager(rm)
SetNamedRoleManager()
SetNamedRoleManager sets the role manager by named ptype.
Zum Beispiel:
- Go
- Python
rm := e.SetNamedRoleManager("g2", rm)
rm = e.set_role_manager("g2", rm)
Clear()
Clear löscht alle gespeicherten Daten und setzt den Rollenmanager auf den Ausgangszustand.
Zum Beispiel:
- Go
- Node.js
- Python
rm.Clear()
await rm.clear();
rm.clear()
AddLink()
AddLink fügt die Vererbung zwischen zwei Rollen hinzu. Rolle: name1 und Rolle: name2. Domain ist ein Präfix für die Rollen (kann für andere Zwecke verwendet werden).
Zum Beispiel:
- Go
- Node.js
- Python
rm.AddLink("u1", "g1", "domain1")
await rm.addLink('u1', 'g1', 'domain1');
rm.add_link("u1", "g1", "domain1")
DeleteLink()
DeleteLink löscht die Vererbung zwischen zwei Rollen. Rolle: name1 und Rolle: name2. Domain ist ein Präfix für die Rollen (kann für andere Zwecke verwendet werden).
Zum Beispiel:
- Go
- Node.js
- Python
rm.DeleteLink("u1", "g1", "domain1")
await rm.deleteLink('u1', 'g1', 'domain1');
rm.delete_link("u1", "g1", "domain1")
HasLink()
HasLink bestimmt, ob eine Verbindung zwischen zwei Rollen besteht. Rolle: name1 vererbt die Rolle: name2. Domain ist ein Präfix für die Rollen (kann für andere Zwecke verwendet werden).
Zum Beispiel:
- Go
- Node.js
- Python
rm.HasLink("u1", "g1", "domain1")
await rm.hasLink('u1', 'g1', 'domain1');
rm.has_link("u1", "g1", "domain1")
GetRoles()
GetRoles erhält die Rollen, die ein Benutzer vererbt hat. Domain ist ein Präfix für die Rollen (kann für andere Zwecke verwendet werden).
Zum Beispiel:
- Go
- Node.js
- Python
rm.GetRoles("u1", "domain1")
await rm.getRoles('u1', 'domain1');
rm.get_roles("u1", "domain")
GetUsers()
Getusers bekommen die Benutzer, die eine Rolle erben. Domain ist ein Präfix für die Benutzer (kann für andere Zwecke verwendet werden).
Zum Beispiel:
- Go
- Node.js
- Python
rm.GetUsers("g1")
await rm.getUsers('g1');
rm.get_users("g1")
PrintRoles()
PrintRoles druckt alle Rollen zu protokollieren.
For example:
- Go
- Node.js
- Python
rm.PrintRoles()
await rm.printRoles();
rm.print_roles()
SetLogger()
SetLogger setzt den Logger für Rollenmanager.
For example:
- Go
logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()
GetDomains()
GetDomains erhalten Domänen, die ein Benutzer hat
For example:
- Go
result, err := rm.GetDomains(name)