from flask import Flask, Response, g, current_app from flask_restx import Api, fields, Resource from flask_rbac import RBAC, UserMixin, RoleMixin from functools import wraps app = Flask(__name__) app.config['RBAC_USE_WHITE'] = True rbac = RBAC(app) api = Api(app, version='1.0', title='Rbac', description='RBAC POC', security=rbac.allow(roles=['Q', 'P'], methods=['PUT'])) ns = api.namespace('rbac', description="role based access control") data = api.model('rbac_info', {'user_id': fields.String('user_id')}) class Role(RoleMixin): def __init__(self, name, user_permission): self.user_permission = user_permission super(Role, self).__init__(name) def __repr__(self): return 'Role: {} Permission: {}'.format(self.name, self.user_permission) def get_permission(self): return self.user_permission