我正在使用Play框架2.4并创建一个新的身份验证操作,该操作使用自定义缓存(后者又使用播放CacheApi)
我不能,使用任何动作组合方法,让依赖注入工作,以使其对我的控制器不可见。
我的控制器应如下所示:
class Application extends Controller {
def index = AuthenticatedAction {
Ok("You are authenticated! :D")
}
}
目前我的行动看起来像是:
object AuthenticatedAction extends ActionBuilder[Request] {
//val cache: ICache
def invokeBlock[A](request: Request[A], block: (Request[A]) => Future[Result]) = {
request.cookies.get("authenticated") match {
case Some(cookie) => {
//How do I create a cache?
//cache.hasCookie(cookie) match {
// case Any => block(request)
// case None => Future.successful( Unauthorized("No!"))
//}
block(request)
}
case None => Future.successful( Unauthorized("No!"))
}
}
}
我有一个缓存类型ICache,但我不能以任何方式将其注入缓存val