我喜欢@rbates的CanCan ruby库进行授权。想知道python/flask是否存在类似的东西?
我想主要有三个要求:
- 定义能力的简单声明式方式(CanCan就是这样做的)
- flask路由的装饰器
- 用于检查代码其他部分的能力的细粒度方法。即
if current_user.can('post::edit')
或其他
或者,最明显的方法是什么?(PEP-20)
当前选择:
- Flask简单授权(目前倾向于这样的东西)
- Flask Principal(他们对我来说都有点重)
一年后,我终于写了一个:
https://github.com/jtushman/bouncer https://github.com/jtushman/flask-bouncer我建议你留意一下软木。目前,它只是一个针对Bottle的身份验证和授权框架,但在路线图中会支持Flask。非常棒。
我之前在LinkedIn上看到过这个包。我从来没有真正检查过它,但它看起来有不断的更新
authatic是Python web应用程序的授权/认证客户端库,灵感来自Alex Vagin的Simpleauth。事实上,我几乎把它命名为Deadsimpleauth,但是这个名字对于一个简洁的库来说太长了。
http://peterhudec.github.io/authomatic/https://github.com/peterhudec/authomatic
不确定这是否正是您所寻找的,但您可能想看看Flask-Auth。http://pythonhosted.org/Flask-Auth/
这可能是您正在寻找的。它有一个装饰器,和一个current_user对象,你可以访问和添加方法。
https://flask-login.readthedocs.org/en/latest/