我希望能够使用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
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器方法,
def controller = HasRole(List("admin")) { user => _ => {
Action(parse.temporaryFile){ implicit request =>
request.body.moveTo(new File("/tmp/filepath"))
Redirect(routes.home)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我看到的错误,
[error] found : play.api.mvc.Action[play.api.libs.Files.TemporaryFile] …Run Code Online (Sandbox Code Playgroud)