Privileges and Roles¶
Again, good example is repocribro.ext_core
. Within your
extension you can define new roles and action privileges by methods
provide_roles
and provide_actions
. It uses flask-principal
wrapped in flask.security.permissions
object. After registration
of roles and action privileges, you can simply import the object and
use it to decorate controller function like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import flask
from ..security import permissions
showcase = flask.Blueprint('showcase', __name__, url_prefix='/showcase')
@showcase.route('test1')
@permissions.roles.my_new_role.require(403)
def test1():
...
@showcase.route('test2')
@permissions.actions.test_it.require(403)
def test2():
...
|
For basics about privileges, see Privileges and Roles.