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

2014-01-17 12:24:33 +08:00
 hustlzp
先说下需求,客户需要做个论坛,角色从高到低分为:

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

然后权限要求如下:

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

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

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

https://gist.github.com/hustlzp/8468273
5159 次点击
所在节点    Python
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)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/97368

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX