会话监听器用于监听会话创建、过期及停止事件:
public class MySessionListener1 implements SessionListener{
@Override
public void onStart(Session session) {//会话创建时触发
System.out.println("会话创建:"+session.getId());
}
@Override
public void onStop(Session session) {//会话过期时触发
System.out.println("会话过期:"+session.getId());
}
@Override
public void onExpiration(Session session) {//退出/会话过期时触发
System.out.println("会话停止:"+session.getId());
}
}
如果只想监听某一个事件,可以继承SessionListenerAdapter实现:
public class MySessionListener2 extends SessionListenerAdapter{
@Override
public void onStart(Session session) {
System.out.println("会话创建:"+session.getId());
}
}
在 shiro-web.ini配置文件中可以进行如下配置设置会话监听器:
sessionListener1=session.listener.MySessionListener1
sessionListener2=session.listener.MySessionListener2
sessionManager.sessionListeners=$sessionListener1,$sessionListener2