Flask Casbin Integration
Project description
Flask-Casbin
Flask-Casbin is an extension that provide Casbin ACL functionality to your Flask project
Installation
Install Flask-Casbin with pip
:
pip install Flask-Casbin
Install Flask-Casbin with poetry
:
poetry add Flask-Casbin
Example
This is an example Flask application:
from flask import Flask
from flask_casbin import Casbin
app = Flask(__name__)
# config
app.config["CASBIN_MODEL_CONF"] = "./model.conf"
app.config["CASBIN_POLICY_CSV"] = "./policy.csv"
# create acl
acl = Casbin(app)
@app.route('/data/<id_:int>')
def get_data(id_):
# curent_user ist global authenticated user
acl.enforce("user:%s" % current_user.name, "data:%d" % id_, "read") or abort(401)
# Get data
data = db.get_data(id_)
return { data_id: data.id, data: data.payload }
Todo
- Decorators for ACL check
- Policy adapters
- Dynamic Policy Adapter (Flask-SQLAlchemy)
- More tests
Resources
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Flask-Casbin-0.2.1.tar.gz
(7.2 kB
view hashes)
Built Distribution
Close
Hashes for Flask_Casbin-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 622f611ce4b8172f3b48127664a1b542ad4f670372807b9fd0fd20f6a3382f99 |
|
MD5 | 00a4953eeeac9f713d78f6aa4d387350 |
|
BLAKE2b-256 | 15a656e343a233ab60d628b9c18a60b279a0399fc9bbbdca995e1ed33c0d9265 |