我现在有一个方法验证用户名和密码,并为会话返回唯一的Ticket Option [String]:User.authenticate(用户名,密码)。
我正在尝试使用zentask示例。我希望能够验证用户名和密码,然后将票证放入名为sessiontoken的会话参数中。 通过我现在正在做的事情,我最终得到了会话变量sessiontoken中的用户名而不是票值。
val loginForm = Form(
tuple(
"username" -> text,
"password" -> text
) verifying ("Invalid username or password", result => result match {
case (username, password) =>
User.authenticate(username, password).isDefined
})
)
def authenticate = Action { implicit request =>
loginForm.bindFromRequest.fold(
formWithErrors => BadRequest(html.login(formWithErrors)),
token => Redirect(routes.Application.index).withSession("sessiontoken" -> token._1)
)
}
答案 0 :(得分:1)
您的问题是您拥有的loginForm
是一个带有用户/密码的元组。您正在进行身份验证以进行验证,但您没有映射到令牌。
如果您希望表单返回令牌,您可能希望使用mapping
而不是tuple
。