V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
hustlzp
V2EX  ›  Python

分享一个用于在Flask中做权限控制的gist

  •  
  •   hustlzp ·
    hustlzp · 2014-01-17 12:24:33 +08:00 · 5147 次点击
    这是一个创建于 3745 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先说下需求,客户需要做个论坛,角色从高到低分为:

    * 超级管理员
    * 管理员
    * 用户
    * 未激活用户
    * Ban用户
    * 游客

    然后权限要求如下:

    * 高级别用户享有低级别用户的所有权限
    * 超级管理员能够任命管理员、将管理员降级
    * 管理员可以ban/unban用户
    * topic创造者和管理员都有权限edit/delete某topic

    查了下,貌似有个插件[Flask-Principal](http://pythonhosted.org/Flask-Principal/)蛮不错的。不过看得似懂非懂,就自己写了个很简单的,目前够用,分享下:

    roles.py定义角色,permission.py定义权限,sample.py则是给出的3种应用场景(有谁知道如何更改gist中文件的显示顺序吗?):

    1 条回复    2019-05-22 19:49:54 +08:00
    hsluoyz
        1
    hsluoyz  
       2019-05-22 19:49:54 +08:00
    PyCasbin 是一个用 Python 语言打造的轻量级开源访问控制框架( [https://github.com/casbin/pycasbin]( https://github.com/casbin/pycasbin) ),支持 ACL、RBAC、ABAC、Restful 等权限模型,目前在 GitHub 开源。针对 Flask 可以采用 Flask-Casbin 权限插件:[https://github.com/pycasbin/flask-casbin]( https://github.com/pycasbin/flask-casbin)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2846 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:25 · PVG 22:25 · LAX 07:25 · JFK 10:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.