Python 使用flask保护静态文件

Python 使用flask保护静态文件,python,security,static,flask,password-protection,Python,Security,Static,Flask,Password Protection,我正在构建一个flask应用程序,我希望它只在用户经过身份验证的情况下提供一些静态文件。这是一个流量非常低的应用程序(仅供内部使用)。我该怎么办?我想到的一件事是使用service_static(),并将其置于身份验证检查之后,但它使用flask已经从中提供内容的静态目录。只需将flask.flask子类化并重写该方法: 另请参见和下面的是否仅对某些静态文件进行身份验证,还是对所有静态文件(和/或整个应用程序)进行身份验证?所有静态文件。我已经对应用程序进行了身份验证,因此如果我可以对照应用程序

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

只需将flask.flask子类化并重写该方法:


另请参见和下面的

是否仅对某些静态文件进行身份验证,还是对所有静态文件(和/或整个应用程序)进行身份验证?所有静态文件。我已经对应用程序进行了身份验证,因此如果我可以对照应用程序的活动会话进行检查,那就太完美了。该文件中似乎不再有第857行。@Jesseldridge-我已修复指向固定提交的链接。谢谢你的提醒!
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