Поднимите отслеживание зарегистрированного пользователя - PullRequest
5 голосов
/ 03 января 2011

У меня есть карта сайта, определенная следующим образом в 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") )

Также у меня есть loggedInUser, определенный в Boot.scala, как это

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

Когда у меня есть журнал пользователяв, я хочу, чтобы они изменили мой loggedInUser на имя пользователя, с которым они успешно вошли в систему.

  • Это нормальный способ иметь дело с входом в систему пользователей?
  • Где я долженсохранить мой объект loggedInUser.Boot.scala?Где-нибудь еще?
  • Как мне обновить loggedInUser, чтобы он теперь работал, чтобы показать страницу "loggedinstuff"?

1 Ответ

1 голос
/ 03 января 2011

Я смог заставить его работать, выполнив вот так

Scala и Lift и SessionVar, который теряет его содержимое

Сделал этот объект

object SessionState {

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

, а затем сделал

SessionState.loggedInUserName(Full(username))
...