0

我希望用户在未登录的情况下无法获取任何资产。谁能告诉我为什么以下内容不起作用:

http://domain-name:5000/static/index.html.

即使用户未登录,也会为用户提供 index.html 文件。

lm.login_view = "/static/login.html"
@app.route('/',defaults={'path':''})
@app.route('/static/<path:path>')
@login_required
def root():
    logging.debug('Login Required - Authenticated user. Will Redirect')
    return redirect(path)

谢谢!

4

1 回答 1

1

默认情况下,如果存在static文件夹烧瓶具有将url 路径映射到文件夹路径的static端点。您可以将参数或烧瓶参数更改为另一个(不是)。staticstaticstatic_url_pathstatic_folderstatic

如果您想要求登录静态端点,那么您可以尝试下一个代码:

@app.before_request
def check_login():
    if request.endpoint == 'static' and not current_user.is_authenticated():
        abort(401)
    return None

或覆盖send_static_file视图功能:

def send_static_file(self, filename):
    if not current_user.is_authenticated():
        abort(401)
    return super(Flask, self).send_static_file(filename)
于 2013-05-16T21:19:24.660 回答