今天主要是唠嗑下登录接口的两个bug
,哈哈……真实印证了一句话,一行代码除了十个bug
。
- 密码错误也登录成功了
- 针对不存在的账号进行查询时没有严谨处理,导致查询时会报错
500
首先,看下代码出错的地方:
def check_user(user: str, pwd: str, db: Session = Depends(get_db)):
"""
根据输入的用户信息,数据库查询比对账号和密码,并对密码进行解密操作
:param user:
:param pwd:
:param db:
:return:
"""
username, password = db.query(
user_models.Users.username, user_models.Users.password
).filter(user_models.Users.username == user).first()
if not username and not encryption_password_or_decode(pwd=pwd, hashed_password=password):
return False
return True
check_user
函数主要是验证数据查询登录账号,然后进行密码比对是否相等。
问题1
- 出错代码:
if not username and not encryption_password_or_decode(pwd=pwd, hashed_pa