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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for Flask_Casbin-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b152317ef4e1ab2affe2aeb2b83866397845cbb8c6ddb0cf716f403a5a2322dd |
|
MD5 | 2b88dd7530bdc4b47d267dd192ecb447 |
|
BLAKE2b-256 | be7c04983e3d1f8ce3dfa263014f45d14ac04f9bbc624c0295eae567c93517de |