提升跟踪登录用户

时间:2011-01-02 22:16:33

标签: java scala session-state lift

我在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") )

此外,我在Boot.scala中定义了一个LoginInUser,就像这个

一样
object loggedInUser extends SessionVar[Box[String]](Empty)

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

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

1 个答案:

答案 0 :(得分:1)

我能够通过这样做来实现它

Scala and Lift and SessionVar that loses it contents

制作此对象

object SessionState {

   object loggedInUserName extends SessionVar[Box[String]](Empty)
}

然后做了

SessionState.loggedInUserName(Full(username))