2017-03-29 4 views
0
class AuthorizedFilter extends EssentialFilter { 

    private def authorizationRequired(request: RequestHeader) = { 
    val clientId = request.headers.get("clientId"); 
    val id = "74f6df0452"; //to match with clientID.Block remaining request 
    clientId match { 
     case Some(id) => 
     true; 
     case _ => 
     false; 
    } 

    } 

    def apply(next: EssentialAction):EssentialAction = new EssentialAction { 
    def apply(request: RequestHeader) = { 
     println("result...",request.headers.get("clientId")); 

     if(!authorizationRequired(request)) { 
     *Iteratee.ignore[Array[Byte]].map(_ => Results.forbidden())* 
     } 
     else { 
     println("YOU are authorized!!") 
     next(request) 
     } 
     } 
    } 
} 

上記のフィルタは、clientIDが一致しないすべての要求をブロックするために追加されました。 にエラーメッセージがあります。Iteratee.ignore [Array [Byte]]。map(_ => Results.forbidden())タイプIteratee [Array [Byte]、StatusHeader]の式が予想されるタイプに適合していませんPlayスカラーのAccumulater [Byte、Result]?

答えて

2

問題は、以前のバージョンのプレーフレームワークからコードを取り出し、バージョン> = 2.5を使用しているということです。あなたがラインIteratee...を交換する必要があります。

Accumulator.done(Results.forbidden()) 

CF documentation

関連する問題