开发登录功能时,发现账号密码没有区分大小写???
问题描述
开发登录功能时,测试发现账号密码竟然没有区分大小写便可登录,顿时脑子一热,查!!!
原因分析
可能情况一: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比较也是可以的,如下图
搞定,谢谢大家!