管理会话bean中实体的公共和私人信息?

时间:2014-07-04 15:46:55

标签: java security java-ee ejb entity

我看到很多例子在会话bean方法中返回或传递实体对象。但是会话bean的远程接口的概念让我认为这是不好的做法,因为实体可能拥有私有数据。对会话bean进行远程调用的客户端不能访问所有数据。我只是感到困惑?如果没有,我该怎么办?我应该创建阴影实体公共属性的类吗?

我们假设我有一个用户实体类如下:

@Entity
public class User implements Serializable {

    private Integer id;
    private String username;
    private String email;
    private String password;
    ...
}

对于使用通过会话bean访问此实体的java客户端的访问者,我只想要 id 用户名 < / strong>对他们可见。经过身份验证的用户应该能够访问期望 密码 属性的所有属性。拥有像这样的会话bean是不安全的:

@Stateless
public class UserManager {
      public User getUserById(Integer id) {
            ...
      }
      public List<User> findUsers(String searchKey) {
            ...
      }

}

如何遇到这样的安全问题?

0 个答案:

没有答案