package org.ohdsi.webapi.shiro;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.SessionException;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.web.servlet.AdviceFilter;
/**
*
* @author gennadiy.anisimov
*/
public class LogoutFilter extends AdviceFilter {
private final Log log = LogFactory.getLog(getClass());
@Override
protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
Subject subject = SecurityUtils.getSubject();
try {
subject.logout();
} catch (SessionException ise) {
log.debug("Encountered session exception during logout. This can generally safely be ignored.", ise);
}
return false;
}
}