Отключить/избежать выполнения совета в AspectJ

Допустим, у меня есть аспект

public aspect Hack {

pointcut authHack(String user, String pass): call(* Authenticator.authenticate(String,String)) && args(user,pass);

boolean around(String user, String pass): authHack(user,pass) {
    out("$$$ " + user + ":" + pass + " $$$");
    return false;
}

}

Метод Authenticator.authenticateважен. Хак перехватывает вызовы этого метода.

Можно ли написать второй аспект, который отменяет/деактивирует совет authHackаспекта Hack?

Я могу поймать выполнение совета around authHack, но если я хочу продолжить аутентификацию, мне нужно снова вызвать Authenticator.authenticate, и это создаст бесконечный цикл..

9
задан emesx 17 April 2012 в 20:08
поделиться