xbackend/rbac_policy.py
2021-05-06 20:15:56 +08:00

22 lines
550 B
Python

import casbin
from core.config import settings
from pymongo import MongoClient
from utils import Adapter
client = MongoClient(settings.DATABASE_URI)
db = client[settings.MDB_DB]
collection = db[settings.CASBIN_COLL]
adapter = Adapter(settings.DATABASE_URI, settings.MDB_DB)
enforcer = casbin.Enforcer('rbac_model.conf', adapter)
model = enforcer.get_model()
model.add_policy('g', 'g', ['root', 'superAdmin', ])
model.add_policy('g', 'g', ['legu', 'admin'])
adapter.save_policy(model)
res = enforcer.enforce('alice', 'data1', 'read')
print(res)