请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

后台登陆查询的时候,根据用户名密码状态三个条件查不行吗?

$where = [
['login_name','=',$loginName],
['password','=',$password],
['status','=',1],
];

这样不行吗?为什么要只根据用户名来查, 不管他是不是被禁用,账号错误还是密码错误,在后台登陆的时候不应该都只返回’账号或密码错误’ 这样提示不是说更安全的吗? 所以说,没必要依次返回 用户名不存在,密码错误,账号被禁用三个状态,也就没必要只通过一个条件查询了, 老师 请说说你的见解

正在回答

1回答

您好,你这个也可以的,但是不建议这样弄,您可以

$where = [
['login_name','=',$loginName],
['status','=',1],
];

然后给出 查询方法 getNormalAdminUserByUsername

这个后面会讲解,后续会单独根据用户名查询用户信息放到单独services模块下,其他地方直接调用即可。

0 回复 有任何疑惑可以回复我~
  • 虽然还是不知道为什么,但我信你说的就是标准
    回复 有任何疑惑可以回复我~ 2019-12-28 15:24:07
  • singwa 回复 提问者 野生码农在线co腚 #2
    您说的那个方案也没问题, 但是一般的系统会给出 先判断用户名是否存在, 再次密码是否正确这样的提示。主要还是要看取舍了,这个和安不安全没有什么关系。
    回复 有任何疑惑可以回复我~ 2020-01-09 01:23:36
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信