在 Play2 的 zentasks 示例中,我们有方法
def isAuthenticated(f: => String => Request[AnyContent] => Result) = {
Security.Authenticated(username, onUnauthorized) { user =>
Action(request => f(user)(request))
}
}
我想做的是添加另一种方法,如果我想直接从数据库中获取用户,我可以使用该方法。
必须在所有方法中添加包装器有点无聊
def method() = isAuthenticated { username => implicit request =>
UserDAO.findOneByEmail(username).map { user =>
Ok(html.user.view(user))
}.getOrElse(Forbidden)
}
我是函数式编程的新手,所有这些=>
都让我头晕目眩:)
有什么建议么?