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
и, если это не так, установите loginRedirect
SessionVar
и отобразить форму входа. При успешном входе вы должны быть перенаправлены на страницу, указанную в loginRedirect
,
Я считаю, что вы также можете просто использовать: override def homePage = "/myPicks"
если вы хотите установить страницу по умолчанию для перенаправления на.