Play 2.0 Framework, используя BodyParser с аутентифицированным запросом

Я хотел бы иметь возможность использовать BodyParser для аутентифицированного запроса, и у меня возникают проблемы с выяснением, как это сделать, если моя Аутентификация настроена как пример ZenTasks.

Мой метод аутентификации,

def IsAuthenticated(f: => String => Request[AnyContent] => Result) = {
  Security.Authenticated(username, onUnauthorized) { user =>
    Action(request => f(user)(request))
  }
}

def HasRole(role: List[String])
  (f: => String => Request[AnyContent] => Result) = IsAuthenticated {
  user => request => if (role.contains(getRole(user))) {
    f(user)(request) // This function returns the result.
  } else {
    Results.Forbidden
  }
}

Мой метод контроллера,

def controller = HasRole(List("admin")) { user => _ => { 
  Action(parse.temporaryFile){ implicit request =>
    request.body.moveTo(new File("/tmp/filepath"))
    Redirect(routes.home)
  }
}

Это ошибка, которую я вижу,

[error]  found   : play.api.mvc.Action[play.api.libs.Files.TemporaryFile]
[error]  required: play.api.mvc.Result
[error]       Action(parse.temporaryFile){ implicit request =>
[error]                                  ^

Вот связанный вопрос:parse.json аутентифицированного игрового запроса

Этот человек нашел обходной путь, и я считаю, что он есть и для временного файла, но я хотел бы знать, как (или почему) то, что я делаю, не работает.

Ответы на вопрос(1)

Ваш ответ на вопрос