Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask框架中基于头的请求验证_Python_Python 3.x_Authentication_Flask_Python 3.6 - Fatal编程技术网

Python Flask框架中基于头的请求验证

Python Flask框架中基于头的请求验证,python,python-3.x,authentication,flask,python-3.6,Python,Python 3.x,Authentication,Flask,Python 3.6,我用Flask构建了几个端点。 某些端点应该只批准某些特定用户ID的请求 假设我有: 此端点:company//videos以获取此公司的所有视频 包含发出GET请求的用户的用户id的标头 mongo集合,包含所有用户ID以及所述用户可以访问的相应公司 对于Flask,根据相应的标题检查请求是否可以批准的最佳方法是什么 编辑:当我们将ORM与用户表一起使用时,有一些很好的烧瓶装饰器来处理它,比如这里:,在我的情况下,我没有使用任何ORM如果我是你,我会构建一个自定义装饰器来控制这种权限 流程如下

我用Flask构建了几个端点。 某些端点应该只批准某些特定用户ID的请求

假设我有:

  • 此端点:company//videos以获取此公司的所有视频
  • 包含发出GET请求的用户的用户id的标头
  • mongo集合,包含所有用户ID以及所述用户可以访问的相应公司
  • 对于Flask,根据相应的标题检查请求是否可以批准的最佳方法是什么


    编辑:当我们将ORM与用户表一起使用时,有一些很好的烧瓶装饰器来处理它,比如这里:,在我的情况下,我没有使用任何ORM

    如果我是你,我会构建一个自定义装饰器来控制这种权限

    流程如下所示:

  • 拦截传入请求
  • 找出请求的用户id是什么
  • 向mongo发送一个查询(如果没有使用ttl缓存,例如10sec),以检索允许的用户ID列表
  • 进行检查并允许或禁止使用端点

  • 让我知道这对您的用例来说是否现实,或者您是否有任何问题。

    是的,这正是我的想法。我只是想确保我没有遗漏一些烧瓶模块,这些模块可以比定制装饰器更好地完成这项工作。谢谢你的推荐没问题!如果你觉得我的答案有用的话,你能给它加上复选标记吗?:)完成!请随意更新我的问题:)再次感谢!