【发布时间】:2015-10-18 04:05:08
【问题描述】:
我正在创建一个 Flask-Admin 应用程序,它需要检查查看、编辑和删除表中某些行的权限。
也就是说,我想:
- 仅列出用户 ID 与行的所有者 ID 匹配的行
- 如果用户有某个角色,让他们创建一行
- 只有当用户具有特定角色时才允许编辑行
我可以考虑重写方法 query()、on_model_change() 等来检查编辑许可,但是:
- 用户仍然可以通过更改 URL 以显示编辑屏幕来查看该行
- 我不知道如何将 WTForms 一对多编辑列表限制为仅允许的项目
我怎样才能做到这一点?
【问题讨论】:
-
您是否见过Flask-RBAC 扩展,它提供了基于角色的访问控制?
-
我不知道 Flask-RBAC,但我看不出它在解决这个问题方面比 Flask-Security 或 Flask-Principal 有什么优势。
标签: flask wtforms flask-admin flask-security flask-principal