asgard_has_role_usage
z_asgard.asgard_has_role_usage(role_parent text [, role_enfant text DEFAULT current_user ])
La fonction asgard_has_role_usage
détermine si un rôle est membre d'un autre (y compris indirectement) et hérite de ses droits. Elle est équivalente à pg_has_role(role_enfant, role_parent, 'USAGE')
en plus permissif : elle renvoie False
quand l'un des rôles n'existe pas plutôt que d'échouer.
Schéma⚓
z_asgard
Arguments⚓
role_parent
est le nom du rôle dont on souhaite savoir si l'autre est membre.[optionnel]
role_enfant
est le nom du rôle dont on souhaite savoir s'il est membre de l'autre. Si non renseigné, la fonction testera l'utilisateur courant.
Tous les arguments sont en écriture naturelle, sans les guillemets des identifiants PostgreSQL.
Résultat⚓
True
si la relation entre les rôles est vérifiée. False
si elle ne l'est pas ou si l'un des rôles n'existe pas.
Exemple :
Pour savoir si le rôle jon.snow
est membre de
g_admin
:
SELECT z_asgard.asgard_has_role_usage('g_admin', 'jon.snow') ;
Pour savoir si l'utilisateur courant est membre de g_admin
:
SELECT z_asgard.asgard_has_role_usage('g_admin') ;