登录功能,发现账号密码没有区分大小写???

开发登录功能时,发现账号密码没有区分大小写???

问题描述

开发登录功能时,测试发现账号密码竟然没有区分大小写便可登录,顿时脑子一热,查!!!

原因分析

可能情况一:MySQL数据库设置成不区分大小写了?

了解:lower_case_table_names 是mysql设置大小写是否敏感的一个参数,0:区分大小写,1:不区分大小写;
命令查看(两个命令均可):
1、show variables like ‘lower_case_table_names’;
2、select @@lower_case_table_names;
如下图,本数据库是设置的区分大小写的,那么首先就排除了这个可能性。
在这里插入图片描述

可能情况二:Mybatis中sql语句查询不区分大小写

解决方案一:在查询字段前加“BINARY”即可,如下图
在这里插入图片描述
解决方案二:在service实现中用equals比较也是可以的,如下图
在这里插入图片描述

搞定,谢谢大家!

猜你喜欢

转载自blog.csdn.net/zcxbd/article/details/104379793