Scala-Lift перенаправляет пользователя после входа в систему

Я хочу перенаправить на определенную страницу после того, как пользователь войдет в мое веб-приложение Scala Lift. Я нашел этот ответ, который, кажется, не работает:

В моем User объект (который является MetaMegaProtoUser) Я переопределяю следующий метод следующим образом:

object User extends User with MetaMegaProtoUser[User] {
    override def loginFirst = If(
    loggedIn_? _,
    () => {
      import net.liftweb.http.{RedirectWithState, RedirectState}
      val uri = Full("/myPicks")
      println("login sucessful .. redirecting!..")
      RedirectWithState(
        loginPageURL,
        RedirectState( ()=>{loginRedirect.set(uri)})
      )
    }
  )


}

Это не работает Есть идеи?

1 ответ

Решение

loginFirst определяет LocParam, который может использоваться для указания, куда отправить пользователя, если он не вошел в систему. Он используется вместе с SiteMap.

Для страницы, которую вы хотите защитить, вы можете изменить эту запись следующим образом:

Меню ("Защищенная страница") / "Защищено" >> User.loginFirst

Это должно проверить, вошел ли пользователь в систему при доступе /protected и, если это не так, установите loginRedirectSessionVar и отобразить форму входа. При успешном входе вы должны быть перенаправлены на страницу, указанную в loginRedirect,

Я считаю, что вы также можете просто использовать: override def homePage = "/myPicks" если вы хотите установить страницу по умолчанию для перенаправления на.

Другие вопросы по тегам