【发布时间】:2017-01-10 16:52:23
【问题描述】:
我有一个用户实体:
public class SpringUsers implements Serializable {
private String password;
// other fields omitted
@Basic
@Column(name = "password")
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
及其存储库:
public interface SpringUsersRepository extends CrudRepository<SpringUsers, Integer> {
SpringUsers findByUsername(String username);
List<SpringUsers> findByUserId(Integer userId);
}
我有一个控制器方法,它应该获取与当前经过身份验证的用户具有相同 userId(内部使用)的所有注册用户的列表:
public List<SpringUsers> getRegisteredUsers() {
CustomUserDetails authenticatedUserDetails = getCustomUserDetails();
List<SpringUsers> registered = springUsersRepository.findByUserId(
authenticatedUserDetails.getUserMyId());
return registered.stream().map(v -> {
v.setPassword(null);
return v;
}).collect(Collectors.toList());
}
我不想将密码(即使它是加密的)传递给前端 - 所以我通过用户流式传输并将密码设置为 null,如上所示。
但是,我想知道是否有可能一开始就在查询结果中不包含用户的密码?
版本信息:
春季启动 1.4.0 & 休眠 5.0.9.Final
【问题讨论】:
标签: java spring hibernate spring-mvc jpa