SherryLang / javalearning

while(Java){ learn !! }
3 stars 1 forks source link

被虐了三天的Spring Security #14

Open SherryLang opened 7 years ago

SherryLang commented 7 years ago

先说说遇到的问题解决过程

Serivice未注入

导致无法搜索到用户。 [图片] 错误代码位置:

//HikUserDetailService.java
public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException {
           SystemUser user;
           try {
                user = systemUserService.findByName(userName).get(0);
           } catch (Exception e) {
                throw new UsernameNotFoundException("user select fail");
           }
......
}

进一步调试,发现这里systemUserService为null,hikUserService为空,导致抛出异常 [图片]

怀疑没有注入实例,于是检查代码头上最基本的注解:

private SystemUserService systemUserService;
private UserRoleService userRoleService;

缺少@Autowired 然后UserRoleService没有加@Service注解,加上之后输入数据库中的密码,真的登录成功了 ! 但是只有调试的时候才能看到密码错误的报错信息

数据库连接慢

缺少@Transaction注解和@EnableTransactionManager配置

前端模板

thymeleaf还要好好学学