任务:服务器response 实现登录功能,用户输入用户名和密码后可以登录你的主页面中。需要对用户名和密码进行限制,例如,用户名只能是自己的学号,输错账号,弹出账号输错信息。并且5秒钟返回到登录页。用
时间: 2024-09-30 08:02:41 浏览: 35
VB.NET使用AD域用户名和密码登录
在实现服务器响应的登录功能时,首先你需要设置一个处理登录请求的路由或API端点。这里是一个基本的Python Flask示例,假设你正在使用这个框架:
```python
from flask import Flask, request, jsonify, redirect, render_template
import time
app = Flask(__name__)
# 假设这是存储真实用户的字典,用于检查用户名是否存在
users = {"123456": "password123", "789012": "passw0rd"}
@app.route('/login', methods=['POST'])
def login():
username = request.form.get('username')
password = request.form.get('password')
# 检查用户名和密码是否匹配
if username not in users or users[username] != password:
error_message = "账号或密码错误"
return jsonify({"status": False, "message": error_message}), 401
# 登录成功,跳转到主页
response = jsonify({"status": True})
response.headers["Refresh"] = "5; URL=/main" # 强制刷新并回到主页面
return response, 200
@app.route('/')
@app.route('/main')
def main():
return render_template('index.html') # 返回主页面模板
if __name__ == '__main__':
app.run()
```
在这个例子中:
1. 用户通过`POST`请求访问`/login`,提交用户名和密码。
2. 服务端检查提供的用户名和密码,如果不正确则返回JSON错误信息,并设置HTTP状态码为401表示未授权。
3. 如果验证通过,返回一个包含登录成功的响应,并利用`Refresh`头强制客户端在5秒后重新加载页面到`/main`。
4. `main`函数负责渲染登录成功后的主页面。
阅读全文