用户登录主要是在登陆窗体中实现身份验证。用户通过输入用户名和密码,进入图 5-1,判别用户名是否存在和密码是否正确。通过系统验证证后才能进入主界面;验证失败,则跳转登陆界面返回错误信息,如登陆账号为空、登陆密码为空、用户名和密码不匹配等并请重新输入。此登陆页面图书管理员和普通用户进入时一样的,通过查询数据库status状态来判断用户属于哪一种,从而进行不同的跳转的代码
时间: 2024-03-03 09:48:43 浏览: 124
c#登录窗体,判断用户名、密码,成功后打开主窗体,允许输入3次,不成功退出
可以使用以下代码实现用户登录身份验证:
```python
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
# 获取用户输入的用户名和密码
user_name = request.form['user_name']
password = request.form['password']
# 判断用户名和密码是否为空
if not user_name or not password:
return "用户名和密码不能为空!"
# 查询数据库,验证用户名和密码是否匹配
user = query_database(user_name)
if user is None:
return "用户名不存在,请重新输入!"
elif user['password'] != password:
return "密码错误,请重新输入!"
# 登录成功,根据用户状态进行跳转
if user['status'] == 0:
# 跳转到普通用户页面
return redirect('/user_page')
elif user['status'] == 1:
# 跳转到管理员页面
return redirect('/admin_page')
else:
return "未知用户状态!"
# GET请求,返回登录页面
return render_template('login.html')
```
在上述代码中,首先判断用户输入的用户名和密码是否为空,如果为空则返回错误提示。否则,查询数据库,验证用户名和密码是否匹配。如果用户名不存在或密码错误,则返回相应的错误提示。如果用户名和密码验证通过,则根据用户状态进行跳转。最后,如果是 GET 请求,则返回登录页面。
阅读全文