gpt4 book ai didi

flask - 在 Flask 中分配组权限

转载 作者:行者123 更新时间:2023-12-04 16:10:13 30 4
gpt4 key购买 nike

我有一个使用 Flask-Security 和 MySQL 的 Flask 应用程序。不幸的是,Flask-Security 不提供组/ Multi-Tenancy 管理( https://github.com/mattupstate/flask-security/issues/285 )。

我想实现以下内容:

  • 在登录时,用户输入他/她的登录凭据。
  • 查询用户 DB 以查看该用户属于多少组(管理、会计、销售等)。
  • 如果用户属于多个组,则会出现一个弹出窗口,列出用户所属的组。
  • 选择组后,用户登录,并为用户 session 设置全局变量(tenant_id 或 group_id)。然后,该全局变量可用于预过滤用户的任何数据库搜索。

  • 我不确定如何实现第 2 步和第 4 步。可以使用 Flask g.object ( http://flask.pocoo.org/docs/0.10/api/#flask.g ) 来实现这样的东西吗?

    最佳答案

    Flask 是一个很棒的框架,并且有许多现成的扩展,但在定制解决方案时通常需要一些肘部润滑脂。

    由于这似乎是您正在使用的身份验证后端缺少的功能,因此您可以考虑以下几点:

  • 切换到包含组管理的后端
  • 自己动手
  • 扩展当前后端

  • 后两种选择都是劳动密集型的。

    一旦您有了组管理,您确实可以使用 flask g 选项。在其中存储对用户对象的引用就足够了。任何查询和过滤车都在后端完成。

    一些有趣的读物:

    Building your own simple permission system如果你决定自己动手,可能会让你开始。

    Related question解决方案实现了 Flask-Principal

    关于flask - 在 Flask 中分配组权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29722261/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com