**Command-line Tools**
Les Casbin CLIs exposent l'API Casbin depuis la ligne de commande afin que vous puissiez charger des modèles et des politiques, effectuer des vérifications d'application et gérer la politique depuis votre shell. Des implémentations sont disponibles pour Go, Java, Node.js, Python, .NET et Rust.
Installation
Go (casbin-go-cli)
-
Cloner le dépôt :
git clone https://github.com/apache/casbin-go-cli.git -
Compiler le CLI :
cd casbin-go-cligo build -o casbin
Rust (casbin-rust-cli)
Installation depuis crates.io
cargo install casbin-rust-cli
Compiler à partir des sources
-
Cloner le dépôt :
git clone https://github.com/casbin-rs/casbin-rust-cli.git -
Compiler avec les optimisations release :
cd casbin-rust-clicargo build --release
Java (casbin-java-cli)
-
Cloner le dépôt :
git clone https://github.com/jcasbin/casbin-java-cli.git -
Compiler avec Maven (le fichier JAR sera créé dans le répertoire
target) :cd casbin-java-climvn clean install
Python (casbin-python-cli)
-
Clonez le dépôt :
git clone https://github.com/apache/casbin-python-cli.git -
Installez les dépendances requises :
cd casbin-python-clipip install -r requirements.txt -
Exécutez le CLI :
python -m casbin_cli.client [command] [options] [args]
.NET (casbin-dotnet-cli)
-
Clonez le dépôt :
git clone https://github.com/casbin-net/casbin-dotnet-cli.git -
Compilez le projet :
cd casbin-dotnet-clidotnet build
Utilisation
Options d'inscription
| Option | Description | Requis | Notes |
|---|---|---|---|
-m, --model | Chemin du fichier de modèle ou texte de définition du modèle | Oui | Entourez de guillemets et utilisez | comme séparateur de ligne |
-p, --policy | Chemin du fichier de politique ou texte de définition de la politique | Oui | Entourez de guillemets et utilisez | comme séparateur de ligne |
-e, --enforce | Évalue les permissions d'accès | Non | Entourez les arguments de guillemets |
-ex, --enforceEx | Évalue les permissions et affiche la politique correspondante | Non | Entourez les arguments de guillemets |
-AF, --addFuntion | Enregistre une fonction personnalisée (casbin-java-cli uniquement) | Non | Entourez de guillemets et utilisez | comme séparateur de ligne |
-ap, --addPolicy | Ajoute une règle de politique au fichier de politique (casbin-java-cli uniquement) | Non | Entourez les arguments de guillemets |
-rp, --removePolicy | Supprime une règle de politique du fichier de politique (casbin-java-cli uniquement) | Non | Entourez les arguments de guillemets |
Commencer
-
Vérifiez si Alice peut lire data1 :
./casbin enforce -m "examples/rbac_model.conf" -p "examples/rbac_policy.csv" "alice" "data1" "read"{"allow":true,"explain":null}./casbin enforce -m "[request_definition]\nr = sub, obj, act\n[policy_definition]\np = sub, obj, act\n[role_definition]\ng = _, _\n[policy_effect]\ne = some(where (p.eft == allow))\n[matchers]\nm = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act" -p "p, alice, data1, read\np, bob, data2, write\np, data2_admin, data2, read\np, data2_admin, data2, write\ng, alice, data2_admin" "alice" "data1" "read"{"allow":true,"explain":null} -
Vérifiez si Alice peut écrire dans data2 et afficher quelle politique accorde la permission :
./casbin enforceEx -m "examples/rbac_model.conf" -p "examples/rbac_policy.csv" "alice" "data2" "write"{"allow":true,"explain":["data2_admin","data2","write"]} -
Ajoutez une nouvelle règle de politique au fichier de politique (casbin-java-cli uniquement) :
./casbin addPolicy -m "examples/rbac_model.conf" -p "examples/rbac_policy.csv" "alice" "data2" "write"{"allow":true,"explain":null} -
Supprimez une règle de politique du fichier de politique (casbin-java-cli uniquement) :
./casbin removePolicy -m "examples/rbac_model.conf" -p "examples/rbac_policy.csv" "alice" "data2" "write"{"allow":true,"explain":null}
Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.