gpt4 book ai didi

python - 在 Python 的 Flask 中验证用户 session 的全局函数

转载 作者:行者123 更新时间:2023-11-28 23:00:17 28 4
gpt4 key购买 nike

每次在我的应用程序中访问页面时,我都希望对用户进行身份验证。

我为我的网络应用程序编写了一个 session 处理类。它是这样称呼的:

s = Session(request.cookies.get('session_id'))

s.isValid()
>> True #The user is logged in

s.user_id
>> 21 #The ID of the user currently logged in.

u = User(s.user_id)

我想将此逻辑包含到一个全局文件中,每次访问网页时都会调用该文件。通过这种方式,我可以在我的 View 处理程序中检查用户是否已登录并访问基本用户信息。

举个例子,我想做这样的事情:

@app.route('/profile')
def profile():

if logged:
render_template('edit-profile.html',
first_name=u.first_name)
else:
render_template('profile.html')

这可能吗?代码会去哪里(哪个文件?)它会是什么样子?

最佳答案

你应该做这样的事情......

@app.before_request
def before_request():
try:
g.user = User.query.filter_by(username=session['username']).first()
except Exception:
g.user = None

登录页面将在 session 中设置用户名字段。然后在每次页面加载时执行此代码。您可以在所有 View 和模板中访问 g.user。

http://flask.pocoo.org/docs/api/#flask.Flask.before_request

关于python - 在 Python 的 Flask 中验证用户 session 的全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273096/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com