4
我想從用戶類轉換用戶ID並將其存儲在播放!會話變量。但是,當我嘗試打印出該會話變量時,它將返回一個空白字符串。這是一個簡單的認證。斯卡拉長轉換爲字符串打印空白
在認證過程:在播放
session += "userid" -> user.id.toString
打印會話變量!階視圖:
@ctx("userid")
整個認證DEF:
def authenticate(login:LoginAttempt) = {
println("in authenticate")
User.authenticate(login.username, login.password) match {
case Some(user:User) => {
session += "username" -> user.emailAddress
session += "userid" -> user.id.toString
session += "name" -> user.name
session += "accounts" -> user.accounts.toString
Redirect(session("path").getOrElse("/"))
}
case _ => {
flash += "error" -> "Wrong username or password."
Action(Authentication.login)
}
}
}
和用戶類:
case class User(
val id: Long,
溶液?這裏有什麼缺失或出錯,阻止user.id
被存儲在會話中?謝謝
即使我確定在發佈之前確認了所有內容,但它似乎是一個初始化錯誤:您初始化了會話嗎?你使用它之前初始化用戶ID? 否則我不會看到什麼會改變一個'長'與'字符串' – 2012-02-10 17:07:48
正確的兩個都已初始化,我可以驗證bc我有權訪問字符串,如我在會話中存儲的用戶名。我唯一的猜測是我錯過了遊戲的「特色」!會話變量。 – crockpotveggies 2012-02-10 18:01:03
事實上,我現在有一個與liftweb相同的問題,但是,它與'SessionVar'一起使用,但不與'RequestVar'一起使用。 – 2012-02-10 18:03:48