1、问题描述
项目运行中遇到一个问题:An internal error occurred while trying to authenticate the user.
尝试对用户进行身份验证时发生内部错误。
问题说明:大多数遇到这个问题的都是出现在使用mybatisplus和springSecurity框架中,springSecurity登录的时候会调用UserDetailsService中的loadUserByUsername方法进行登录。
本质:就是由于配置或用户名密码信息有误,造成无法正确执行查询信息造成的。
2、常见原因1:mybatisplus没有关闭默认的驼峰命名法
如果你的数据库表字段是stu_id,在没有关闭驼峰命名法的时候,系统会自动将字段名称修改成stuId,从而造成数据查询映射的失败。需要做如下配置:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 打印执行的sql语句
map-underscore-to-camel-case: false # 关闭驼峰命名法
3、常见原因2:没有在启动类中扫描mapper接口或地址错了
使用mybatisplus的时候,自定义的mapper文件需要继承BaseMapper接口。
这个时候需要在启动类中扫描mapper接口,注意地址不要写错了
@MapperScan("com.txc.mybatisplus0403.mapper")
@SpringBootApplication
@MapperScan("com.txc.mybatisplus0403.mapper")
public class Mybatisplus0403Application {
public static void main(String[] args) {
SpringApplication.run(Mybatisplus0403Application.class, args);
}
}
4、SpringSecurity5.7.10整合Mybatisplus3.5.3.2自定义用户登录逻辑
这个资源是收费的,介意的不要点
SpringSecurity5.7.10整合Mybatisplus3.5.3.2自定义用户登录逻辑_雾林小妖的博客-CSDN博客