【python】flask基于cookie和session来实现会话控制
from flask import Flask, request, make_response, session
app = Flask(__name__)
app.secret_key = 'your_secret_key'
@app.route('/login', methods=['POST'])
def login():
username = request.form['username']
if username == 'admin':
session['logged_in'] = True
resp = make_response({'message': 'Logged in successfully'}, 200)
resp.set_cookie('session', session.sid)
return resp
else:
return {'message': 'Login failed'}, 401
@app.route('/logout')
def logout():
session.clear()
return {'message': 'Logged out successfully'}, 200
@app.route('/protected')
def protected():
if 'logged_in' in session:
return {'message': 'You are logged in'}, 200
else:
return {'message': 'You are not logged in'}, 401
if __name__ == '__main__':
app.run(debug=True)
这段代码演示了如何在Flask应用中使用session来管理用户登录状态。在login
路由中,如果用户名是'admin',则更新session并返回一个包含session ID的cookie。在logout
路由中,清除session并返回成功消息。protected
路由检查session中的'logged\_in'键来确定用户是否登录。这个简单的例子展示了如何使用Flask的session机制来管理用户会话。
评论已关闭