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())中收到错误消息。
答案 0 :(得分:2)
问题是您从旧版本的play框架中获取了一段代码,而您现在使用的是版本> = 2.5。您需要将行Iteratee...
替换为:
Accumulator.done(Results.forbidden())