如何将授权标头从html发送到flask

2024-10-02 10:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个项目,后端使用flask,前端使用jinja和html

我需要的是发送一个具有授权标头的请求,并且我的所有路由都读取该标头,以查看其是否来自有效用户

def show_admin():
        data = request.headers.get('Authorization')
        # data = "TOKEN123"
        # واکشی اطلاعات مورد نیاز صفحه داشبورد
        content = {
            'user': mydb.selectalluser(),
            'doreh': mydb.selectalldoreh()
        }
        # چک میشود اگر توکن ارسالی توسط کاربری معتبر است یا خیر
        if str(data) == "TOKEN123":
            return render_template('admin/dashboard.html', content=content)
            # return hello
        else:
            # اگر توکن معتبر باشد صفحه لود خواهد شد
            return render_template('login/index.html')

在if语句中,它检查令牌是否有效。但是 1.如何生成包含授权标头的请求 2.如何为登录页面生成令牌


Tags: 项目flask路由datareturnifadminhtml
1条回答
网友
1楼 · 发布于 2024-10-02 10:21:22

您无法控制服务器端的客户端请求头(即Authorization)。IMO,您需要的是管理用户登录/会话状态,您可以使用Flasksession实现这一点,可以在请求之间获取存储在session上的信息(使用Cookie):

from flask import session


@app.route('/login')
def login():
    session['token'] = 'TOKEN123'  # store token, use it as a dict
    return 'login success'

@app.route('/admin')
def show_admin():
    if session.get('token') == "TOKEN123":  # get token
        return 'admin page'
    else:
        return 'login page'

但是,我建议使用Flask-Login来处理用户会话管理

相关问题 更多 >

    热门问题