2015-07-14 8 views
0

У меня есть класс ниже, чтобы проверить входящий запрос.Action Composition for Authentication

public class SecuredAction extends Action.Simple 
{ 


    @Override 
    public Promise<Result> call(Context ctx) throws Throwable 
    { 
     // Not doing anything now. Just interrupting it 
     return delegate.call(ctx); 
    } 
} 

И я подаю его на другой контроллер, как

@With(SecuredAction.class) 
public class TestController extends BasicController { 
public Result method1(){} 
public Result method2(){} 
-- 
} 

проблема, в случае нескольких запросов, поступающих от браузера, запросы поврежденные/ответы становятся перепутали .. В выше case, вызовы для метода method1 и method2 проходят только один из них, когда используется @With (SecuredAction.class). Я не вижу эту проблему, если эта аннотация удалена. Это как-то связано с Контекстом? Разве это не безопасно? Каков правильный способ? Любая помощь, пожалуйста?

ответ

2

Похоже, что создание SecuredAction не является одним из символов (@Scope («prototype»)) решает проблему. Больше не увидев проблему после этого.

Это означает, что делегат получает доступ к входящим запросам/потоку небезопасно.