我正在开发一个支持SimpleSession和HttpSession的应用程序。已经为SimpleSession实现了SessionListener,但这对Http Sessions不起作用。该应用程序使用嵌入式Jetty服务器。 SimpleSession的现有实现在下面提到 -
getShiroSessionManager().getSessionListeners().add(new org.apache.shiro.session.SessionListener() {
/**
* {@inheritDoc}
*/
@Override
public void onStart(Session session) {
LOGGER.info("Session started : " + session.getId());
}
/**
* {@inheritDoc}
*/
@Override
public void onExpiration(Session session) {
LOGGER.info("Session expired : " + session.getId());
}
/**
* {@inheritDoc}
*/
@Override
public void onStop(Session session) {
LOGGER.info("Session stopped : " + session.getId());
}
});
/**
* Gets the shiro session manager.
*
* @return the shiro session manager
*/
private static AbstractValidatingSessionManager getShiroSessionManager() {
SessionsSecurityManager ssm = (SessionsSecurityManager) SecurityUtils.getSecurityManager();
return (AbstractValidatingSessionManager) ssm.getSessionManager();
}
我想跟踪我的HttpSession。我怎样才能为Shiro Http Sessions实现这样的目标?