登录成功后的后置处理
一般的业务系统在用户登录成功后,需要在数据库中记录一条相应的用户端登录的日志,我们可以通过Acegi提供的事件的机制来完成这一功能,当用户身份认证成功,Acegihui 产生一个AuthenticationSuccessEvent的事件,该事件是org.springframework.context.ApplicationEvnet的子类,所以AuthenticationSuccessEvent是一个spring的容器事件,我们可以定义一个监听器来相应改时间已记录用户登录日志
import org.acegisecurity.Authentication;
import org.acegisecurity.event.authentication.AuthenticationSuccessEvent;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
public class LoginSuccessListener implements ApplicationListener {
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof AuthenticationSuccessEvent) {
AuthenticationSuccessEvent authEvent = (AuthenticationSuccessEvent)event;
Authentication auth = authEvent.getAuthentication();
String userName = auth.getName();
System.out.println("模拟记录用户["+userName+"]成功登录日志...");
}
}
}