第一种情况:
检查你的 doGetAuthenticationInfo方法中的参数,这个参数的含义是获取你登陆的账户和密码
查看这个参数是否可以获取到
第二种情况
查看一下装配信息中的数据是否有空值
//装配认证信息 SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo( //用户名 username, //密码 userInfo.getPassword(), //salt ByteSource.Util.bytes(userInfo.getCredentialsSalt()), //realm name getName() );
第三种情况
自己匹配一下登陆密码->md5加密(包括加密次数)->与数据库存储的密码是否一致
在或者就是加密机制没有注入等等
我在这边给一个md5加密算法你们可以做一下验证
https://blog.csdn.net/AinUser/article/details/81698036
第四种情况、
就是查看当前查询sql的结果集是否只有一个