Passer au contenu principal

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 add MatchingFunc by ptype to 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

Par exemple :

    e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedMatchingFunc("g", "", util.MatchKey)

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)

GetRoleManager()​

GetRoleManager obtient le gestionnaire de rôles actuel pour g.

Par exemple :

    rm := e.GetRoleManager()

GetNamedRoleManager()​

GetNamedRoleManager gets the role manager by named ptype.

Par exemple :

    rm := e.GetNamedRoleManager("g2")

SetRoleManager()​

SetRoleManager sets the current role manager for g.

Par exemple :

    e.SetRoleManager(rm)

SetNamedRoleManager()​

SetNamedRoleManager sets the role manager by named ptype.

Par exemple :

    rm := e.SetNamedRoleManager("g2", rm)

Clear()​

Efface toutes les données stockées et réinitialise le gestionnaire de rôle à l'état initial.

Par exemple :

    rm.Clear()

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")

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")

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")

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")

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")

PrintRoles()​

PrintRoles affiche tous les rôles à enregistrer.

For example:

    rm.PrintRoles()

SetLogger()​

SetLogger définit le journal du gestionnaire de rôles.

For example:

    logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()

GetDomains()​

GetDomains récupère les domaines qu'un utilisateur a

For example:

    result, err := rm.GetDomains(name)