报错情况如下:
UserServiceImpl.java 代码修改之前:
package com.cj.ssm.service.impl;
import com.cj.ssm.dao.IUserDao;
import com.cj.ssm.domain.UserInfo;
import com.cj.ssm.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service("userService")
@Transactional
public class UserServiceImpl implements IUserService {
@Autowired
private IUserDao userDao;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
UserInfo userInfo = null;
try {
userInfo = userDao.findByUsername(username);
} catch (Exception e) {
e.printStackTrace();
}
//处理自己的用户对象,封装成UserDetails
User user = new User(userInfo.getUsername(),userInfo.getPassword(),getAuthority());
return user;
}
//作用就是返回一个list集合,集合中装入的是角色描述
public List<SimpleGrantedAuthority> getAuthority() {
List<SimpleGrantedAuthority> list = new ArrayList<>();
list.add(new SimpleGrantedAuthority("ROLE_USER"));
return list;
}
}
修改之后就正常了