Пример #1
0
  @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);
  }