@Override public User loadUserByUsername(String fullUsername) throws UsernameNotFoundException { String username = null; String accountShortName = null; if (fullUsername.contains("@")) { username = fullUsername.split("@")[0]; accountShortName = fullUsername.split("@")[1]; } else { username = fullUsername; } Search search = new Search(User.class); search.addFilterEqual("username", username); if (StringUtils.isNotBlank(accountShortName)) { search.addFilterEqual("account.shortName", accountShortName); } else { search.addFilterNull("account"); } List<User> users = userRepository.search(search); if (users.size() == 0) { // TODO 记录LOG throw new UsernameNotFoundException("用户" + fullUsername + "不存在"); } return users.get(0); }