用户登录对大小写不敏感

Blade 未结 2 1007
ntu820
ntu820 剑圣 2022-02-22 17:09

一、该问题的重现步骤是什么?

1. 新增用户账户为:abc,数据库新增一条记录,account为abc。

2. 用户登录,使用Abc、aBc、abC、ABc、aBC、ABC,只要密码正确,都可进行登录。


二、你期待的结果是什么?实际看到的又是什么?

期待结果:只有数据库存在的账户可以进行登录。

实际结果:登录用户名对大小写不敏感。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

产品:BladeX

版本:2.7.0.RELEASE

系统:WIN10、CentOS7.9


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

QQ图片20220222170855.png

2条回答
  • 2022-02-24 10:32

    mysql默认情况下,直接查询是不区分大小写的,具体请看下图。

    image.png


    需要加上关键字 BINARY 才会进行区分,具体请看下图。

    image.png

    image.png


    所以这种情况需要自己定一个新的方法,用xml写sql,加上BINARY关键字查询,不用mybatis-plus自带的api,这样就能实现大小写区分了。


    但会有一个新的问题,那就是bladex本身是要适配多种数据库的,mysql的关键字在其他数据库是不通用的,所以我们没有把这个设定加到框架内。我们推荐有这种需求的用户自行拓展一下,也很简单就能实现。

    0 讨论(0)
  • 2022-10-21 14:39

    加了之后报错怎么办error1.png

    0 讨论(0)
提交回复