加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 检查Flask-HTTPAuth是否在视图内部进行了身份验证

发布时间:2020-12-20 11:56:33 所属栏目:Python 来源:网络整理
导读:我正在使用Flask-HTTPAuth进行身份验证.我想根据请求是否经过身份验证来显示视图中的不同数据.使用auth.login_required装饰视图仅向经过身份验证的用户显示该视图.如何使用Flask-HTTPAuth测试请求是否经过身份验证? auth = HTTPBasicAuth()@app.route("/clo
我正在使用Flask-HTTPAuth进行身份验证.我想根据请求是否经过身份验证来显示视图中的不同数据.使用auth.login_required装饰视图仅向经过身份验证的用户显示该视图.如何使用Flask-HTTPAuth测试请求是否经过身份验证?

auth = HTTPBasicAuth()

@app.route("/clothesInfo")
@auth.login_required
def show_info():
    return jsonify(blah blah blah)

解决方法

您想要的实际上非常容易实现.在您的verify_password回调中,当用户不提供凭据时,您将获得设置为”的用户名和密码.您仍然可以从该函数返回True,这将允许匿名用户访问端点.

以下示例演示了此技术:

auth = HTTPBasicAuth()

@auth.verify_password
def verify_password(username,password):
    if username == '' or password == '':
        # anonymous user,we still let them in
        g.current_user = None
        return True
    g.current_user = my_verify_function(username,password)
    return g.current_user is not None

@app.route("/clothesInfo")
@auth.login_required
def show_info():
    if g.current_user:
        # prepare data for authenticated users here
        pass
    else:
        # prepare data for anonymous users here
        pass
    return jsonify(data)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读