gpt4 book ai didi

scala - 加密变量上的光滑匹配

转载 作者:行者123 更新时间:2023-12-04 05:12:28 24 4
gpt4 key购买 nike

如何使用 Slick 选择加密变量。

我的数据库中有一个 BCrypt 编码的密码。

说明我的意图:

def login(name: String, password: String) = Action {
...
for {
u <- Users if u.name === name && BCrypt.checkpw(password, u.password)
} yield u

当然,slick 提示 u.password 是一个提升的列而不是一个字符串。

你打算如何解决这个问题?

最佳答案

实际上我设法解决了我的问题。

  def login(name: String, password: String) = Action {
database withSession {
(for {
u <- Users if u.name === name
} yield u).list
} match {
case Nil => Ok("No user found")
case head :: tail =>
if(BCrypt.checkpw(password, head.password))
Ok("accepted").withSession("userid" -> head.id.get.toString)
else
Ok("Incorrect password")
}
}

关于scala - 加密变量上的光滑匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com