Допустим, у меня есть аспект
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
, и это создаст бесконечный цикл..