我正在构建一个烧瓶应用程序,我希望它只在用户通过身份验证时提供一些静态文件。它是一个流量非常低的应用程序(仅供内部使用)。我该怎么做?我想到的一件事是使用serve_static(),并将其置于身份验证检查之后,但是使用了已经提供内容的静态目录。
答案 0 :(得分:12)
简单地继承flask.Flask
并覆盖send_static_file
方法:
class SecuredStaticFlask(Flask):
def send_static_file(self, filename):
# Get user from session
if user.is_authenticated():
return super(SecuredStaticFlask, self).send_static_file(filename)
else:
abort(403)
# Or 401 (or 404), whatever is most appropriate for your situation