提升跟踪登录用户

bwa*_*wok 5 java scala lift session-state

我在Boot.scala中有一个像这样定义的站点地图

   def sitemap() = SiteMap(
      Menu(S ? "Home") / "index",
      Menu(S ? "Login") / "login",
      Menu(S ? "Do Logged in Stuff") / "loggedinstuff"  >> If( () => loggedInUser.is != Empty, "You must be logged in") )
Run Code Online (Sandbox Code Playgroud)

此外,我在Boot.scala中定义了一个loggedInUser

object loggedInUser extends SessionVar[Box[String]](Empty)
Run Code Online (Sandbox Code Playgroud)

当我有用户登录时,我希望他们将我的loggedInUser更改为他们成功登录的用户名.

  • 这是处理用户登录的好方法吗?
  • 我应该在哪里保留我的loggedInUser对象.Boot.scala?别的地方?
  • 如何更新loggedInUser以便他现在可以显示"loggedinstuff"页面?

bwa*_*wok 1

我可以像这里一样让它工作

Scala 和 Lift 以及丢失内容的 SessionVar

制作了这个对象

object SessionState {

   object loggedInUserName extends SessionVar[Box[String]](Empty)
}
Run Code Online (Sandbox Code Playgroud)

然后做了

SessionState.loggedInUserName(Full(username))
Run Code Online (Sandbox Code Playgroud)