Passer au contenu principal

Policy Storage

Dans Casbin, le stockage de la politique est implémenté comme un adaptateur.

Chargement de la politique à partir d'un fichier .CSV

C'est la façon la plus courante d'utiliser Casbin. C'est facile à comprendre pour les débutants et pratique pour partager lorsque vous demandez de l'aide à l'équipe Casbin.

Le contenu du fichier .CSV examples/rbac_policy.csv est le suivant :

p, alice, data1, read
p, bob, data2, write
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, data2_admin
note

Si votre fichier contient des virgules, vous devez les entourer de guillemets doubles. Par exemple :

p, alice, "data1,data2", read    --correct
p, alice, data1,data2, read --incorrect (the whole phrase "data1,data2" should be wrapped in double quotes)

Si votre fichier contient des virgules et des guillemets doubles, vous devez entourer le champ de guillemets doubles et doubler tous les guillemets doubles intégrés.

p, alice, data, "r.act in (""get"", ""post"")"        --correct
p, alice, data, "r.act in ("get", "post")" --incorrect (you should use "" to escape "")

Problème lié : casbin#886

API de l'adaptateur

MéthodeTypeDescription
LoadPolicy()basiqueCharger toutes les règles de politique à partir du stockage
SavePolicy()basiqueEnregistrer toutes les règles de politique dans le stockage
AddPolicy()optionnelAjouter une règle de politique au stockage
RemovePolicy()optionnelSupprimer une règle de politique du stockage
RemoveFilteredPolicy()optionnelSupprimer les règles de politique qui correspondent au filtre du stockage

Format de stockage de la base de données

Votre fichier de politique

p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, admin

Structure de base de données correspondante (comme MySQL)

idptypev0v1v2v3v4v5
1pdata2_admindata2lire
2pdata2_admindata2écrire
3galiceadmin

Signification de chaque colonne

  • id : La clé primaire dans la base de données. Il n'existe pas en tant que partie de la politique casbin. La façon dont il est généré dépend de l'adaptateur spécifique.

  • ptype : Il correspond à p, g, g2, etc.

  • v0-v5 : Les noms de colonnes n'ont pas de signification spécifique et correspondent aux valeurs dans le policy csv de gauche à droite. Le nombre de colonnes dépend de combien vous en définissez vous-même. En théorie, il peut y avoir un nombre infini de colonnes, mais généralement seulement 6 colonnes sont implémentées dans l'adaptateur. Si cela ne vous suffit pas, veuillez soumettre un problème au dépôt correspondant de l'adaptateur.

Détails de l'adaptateur

Pour plus de détails sur l'utilisation de l'API de l'adaptateur et la conception de la structure de la table de base de données, veuillez visiter : /docs/adapters