烧瓶中的中间件

绍维克

我刚刚说过使用Flask,并试图在我的项目中实现一个小功能。目的是仅在请求来自经过身份验证的用户时设置cookie。

我发现了两种方法。

第一种方法

@app.before_request
def before_request():
   # set cookie if user is logged in

第二种方法,通过实现类似这样的方法,将一个简单的中间件添加到您的烧瓶应用程序中

有人可以向我解释两种方法之间的主要区别是什么以及何时何地应使用哪种方法。

另外,我目前正在使用“ flask-login”来跟踪已登录的用户。如果使用第一种方法,则可以通过导入current_user轻松验证是否有人登录

from flask.ext.login import current_user

但是,如果我在使用第二种方法时尝试执行相同的操作,则由于应用程序上下文不正确,current_user始终为“ None”。

因此,我想知道是否决定继续执行第二个实施方案,如何检查用户是否已登录。

ju

我从未使用过您提到的第二种方法。我敢肯定可以用它来完成,但这是很不常见的。我建议使用烧瓶的更多常见功能。为了代码的维护者:)因此,您提到的第一种方法很好。

或者,您可以使用装饰器来获得更精细的访问限制。请记住,在制作实际的响应对象时,可以在烧瓶中设置cookie这意味着您应该使用“延迟的请求回调”在修饰功能中设置Cookie。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章