0
나는 DB의 테이블 User(id, password_hash, ....)
과의 모델이 있습니다암호 및 암호 해시는
case class User(
id: Pk[Long] = NotAssigned,
email: String,
password: Option[String] = None,
passwordHash: Option[String] = None
)
object User {
def create(newUser: User): Option[Long] = //.....
//on("password_hash" -> generatePasswordHash(newUser.password)
def generatePasswordHash(p: String) = //....
}
점은 Password
필드는 모델 User
존재 만 I을 가득입니다 새 사용자 등록 :
val newUser = User(email = emailFromForm, password = Some(passwordFromForm))
암호를 해시로 보내면됩니다. 분명히 db에서 검색하면 Password
필드가 None이되지만 PasswordHash
값이 있습니다.
내가 이어야한다고 생각하기 때문에 Password
과 PasswordHash
을 옵션으로 만들었습니까? 그래도 그것이 옳은 것인지 틀린 것인지 확실하지 않습니다.
질문은 나의 좋은 접근 방법입니까?
아마도 새 사용자 생성을 위해 필요하기 때문에 비밀번호가 필요하지 않습니다. checkPassword에서 passwordHash를 의미합니까? –
암호 입력란을 제거하고 passwordHash 만 남을 것 같습니다. 그리고 나는 당신과 같이 창조의 시그니처를 바꿀 것입니다. –
"checkPassword에서 비밀번호 해시를 의미합니까?" 아니요, 로그인 양식에서 얻은 비밀번호를 의미합니다. 편집을 참조하십시오. –