我刚开始学习 AspectJ,我有一个用例,比如用户登录。如果用户的会话数据(cookies)与服务器上存储的数据不匹配,我想更改调用的函数。假设我有两个操作:
class HttpServlet {
public function() {
}
public function2() {
}
public doLogin() {
}
}
我有这样的建议:
public aspect UserLoggedIn {
pointcut GreetingServer(): within(HttpServlet);
pointcut requireAuth():
GreetingServer() && execution(* function*(..));
before(): requireAuth() {
if ( notLoggedIn ) {
redirectToDoLoginAndAbortCalledFunction();
}
}
}
那么如何使 redirectToDoLoginAndAbortCalledFunction() 工作?