package org.ohdsi.webapi.shiro; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.apache.shiro.web.servlet.AdviceFilter; import org.apache.shiro.web.util.WebUtils; import org.ohdsi.webapi.helper.Guard; /** * * @author gennadiy.anisimov */ public class SendTokenInUrlFilter extends AdviceFilter { private String url; public SendTokenInUrlFilter(String url) { this.url = url; } @Override protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception { String jwt = (String)request.getAttribute("TOKEN"); if (Guard.isNullOrEmpty(jwt)) { WebUtils.toHttp(response).sendRedirect(url); } else { WebUtils.toHttp(response).sendRedirect(url.replaceAll("/+$", "") + "/" + jwt); } return false; } }