user实体类
@Document
public class User implements UserDetails{
private static final long serialVersionUID = 2L;
String id;
String username;
String password;
List<SimpleGrantedAuthority> grantedAuthorities;
public User(String id, String username, String password, List<SimpleGrantedAuthority> grantedAuthorities) {
this.id = id;
this.username = username;
this.password = password;
this.grantedAuthorities = grantedAuthorities;
}
}
其中,list 为继承UserDetails 必须要写的属性,会作为对象传入数据库中,不继承且没有此属性的时候并不会出错
被CustomUserDetailService调用的UserService,用于存取user对象
@Service
public class UserService {
private static final String USER_COLLECTION = "user";
@Autowired
MongoTemplate mongoTemplate;
public void saveUser(User user){
mongoTemplate.insert(user);
}
public User findUserByName(String name){
User user = mongoTemplate.findOne(new Query(Criteria.where("username").is(name)), User.class, USER_COLLECTION);
return user;
}
}