ID로 사용자 가져 오기, 사용자 추가, 사용자 제거, 사용자 목록 표시 등과 같은 표준 작업을 제공하는 REST 서비스를 만들고 있습니다.이 프로젝트에 Google Cloud Endpoints를 사용하고 있습니다.휴식 API를위한 사용자 리소스를 모델링하는 가장 좋은 방법
내 현재 모델에는 DisplayableUser
에서 파생 된 User
이라는 클래스가 사용됩니다. User
에는 비밀번호와 같은 민감한 정보가 포함되어 있으며 DisplayableUser
에는 클라이언트에게 안전하게 전달할 수있는 입력란 만 포함되어 있습니다. 사용자를 위해 JSON 표현을 제공해야 할 때마다 간단히 User
을 DisplayableUser
으로 캐스팅 한 다음 직렬화하여 클라이언트로 전달합니다.
제 질문은 이것이 올바른 방법입니까? 내가 전에 시도한 접근 방식은 다음과 같습니다.
Password
이라는 별도 클래스를 도입하십시오. 이 클래스에는 User
(현재 중요한 데이터가 들어 있지 않음) 및 실제 해시 된 비밀번호에 대한 참조가 포함되어 있습니다. 나는 objectastore BTW와 상호 작용하기 위해 objectify를 사용하고 있습니다.
@Entity
public class Password
{
@Id
Long id;
@Load
Ref<User> user;
String passwordHash;
.....
}
내가 스토어에서 User
를 검색하면 내가 여기에 직면하고 문제, 어떻게 대응 Password
개체를 검색 할 수 있습니까?
질문을 이해할 수 없습니다. 보안상의 이유로 암호를 데이터베이스에 저장하지 않습니다. 나는 오직 해시만을 저장한다. 거기에없는 것을 얻을 수는 없습니다 ... – inf3rno