12

我正在构建一个烧瓶应用程序,我希望它仅在用户通过身份验证时才提供一些静态文件。这是一个非常低流量的应用程序(仅供内部使用)。我该怎么办?我正在考虑的一件事是使用serve_static(),并将其置于身份验证检查之后,但它使用flask 已经从中提供内容的静态目录。

4

1 回答 1

16

只需子类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

另见定义send_static_file和以下

于 2012-08-25T01:36:38.373 回答