API RoleManager
Responsable de rôle
RoleManager fournit une interface pour définir les opérations de gestion des rôles. L'ajout de la fonction correspondante au gestionnaire de rôle permet d'utiliser des caractères génériques dans le nom du rôle et le domaine.
AddNamedMatchingFunc()
AddNamedMatchingFunc ajoute MatchingFunc par ptype RoleManager. MatchingFunc fonctionnera lors de la recherche de rôles.
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');
Par exemple :
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 ajoute MatchingFunc par ptype à RoleManager. DomainMatchingFunc
est similaire à MatchingFunc
listé ci-dessus.
Par exemple :
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 obtient le gestionnaire de rôles actuel pour g
.
Par exemple :
rm := e.GetRoleManager()
const rm = await e.getRoleManager();
rm = e.get_role_manager()
Nettoyage()
Efface toutes les données stockées et réinitialise le gestionnaire de rôle à l'état initial.
Par exemple :
rm.Clear()
await rm.clear();
rm.clear()
AddLink()
AddLink ajoute le lien d'héritage entre deux rôles. rôle : nom1 et rôle : nom2. Le domaine est un préfixe des rôles (peut être utilisé à d'autres fins).
Par exemple :
rm.AddLink("u1", "g1", "domain1")
await rm.addLink('u1', 'g1', 'domain1');
rm.add_link("u1", "g1", "domain1")
Supprimer le lien ()
DeleteLink supprime le lien d'héritage entre deux rôles. rôle : nom1 et rôle : nom2. Le domaine est un préfixe des rôles (peut être utilisé à d'autres fins).
Par exemple :
rm.DeleteLink("u1", "g1", "domain1")
await rm.deleteLink('u1', 'g1', 'domain1');
rm.delete_link("u1", "g1", "domain1")
HasLink()
HasLink détermine si un lien existe entre deux rôles. rôle : nom1 hérite du rôle : nom2. Le domaine est un préfixe des rôles (peut être utilisé à d'autres fins).
Par exemple :
rm.HasLink("u1", "g1", "domain1")
await rm.hasLink('u1', 'g1', 'domain1');
rm.has_link("u1", "g1", "domain1")
GetRoles()
GetRoles récupère les rôles qu'un utilisateur hérite. Le domaine est un préfixe des rôles (peut être utilisé à d'autres fins).
Par exemple :
rm.GetRoles("u1", "domain1")
await rm.getRoles('u1', 'domain1');
rm.get_roles("u1", "domain")
GetUsers()
GetUsers récupère les utilisateurs qui héritent d'un rôle. Le domaine est un préfixe pour les utilisateurs (peut être utilisé à d'autres fins).
Par exemple :
rm.GetUsers("g1")
await rm.getUsers('g1');
rm.get_users("g1")
PrintRoles()
PrintRoles affiche tous les rôles à enregistrer.
Par exemple :
rm.PrintRoles()
await rm.printRoles();
rm.print_roles()
SetLogger()
SetLogger définit le journal du gestionnaire de rôles.
Par exemple :
logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()
GetDomains()
GetDomains récupère les domaines qu'un utilisateur a
Par exemple :
result, err := rm.GetDomains(name)