-2

ユーザー名とパスワードを検証し、セッションの一意のチケットオプション[文字列]を返すメソッドがあります:User.authenticate(username、password)。

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)
    )
  }
4

1 に答える 1

1

あなたの問題は、loginFormユーザー/パスワードを含むタプルを返すことです。検証のために認証を行っていますが、トークンにマッピングしていません。

フォームにトークンを返したい場合は、mapping代わりに使用することを検討しているでしょう。tuple

于 2013-01-11T00:56:25.477 に答える