anonymous wrote : I'm now looking at trying to do a filter upstream of the Seam filter (sadly not an area I'm very familiar with) to change the HttpServletRequest URL (conditionally). |
This is what we're planning to do. I haven't tested it yet (don't have an ssl cert set up yet), but I think it should work. I'll report back if it doesn't. We use BIG-IP for loadbalancing and ssl decryption. For ssl requests, we've configured it to add a specific request header. I haven't tested this, but I think we only need to override Request.getScheme(), and not Request.getRequestURL(). | | @Name("bigIpSslFilter") | @Scope(ScopeType.APPLICATION) | @BypassInterceptors | @org.jboss.seam.annotations.web.Filter | public class BigIpSslFilter implements Filter { | | public void destroy() { | } | | public void doFilter(ServletRequest request, ServletResponse response, | FilterChain filterChain) throws IOException, ServletException { | if (request instanceof HttpServletRequest) { | filterChain.doFilter(new BigIpSslRequest((HttpServletRequest) request), response); | } else { | filterChain.doFilter(request, response); | } | } | | public void init(FilterConfig filterConfig) throws ServletException { | } | | public static class BigIpSslRequest extends HttpServletRequestWrapper { | | public BigIpSslRequest(HttpServletRequest request) { | super(request); | } | | @Override | public String getScheme() { | String forwardedScheme = getRequest().getHeader("HTTP_X_FORWARDED_PROTO"); | if (forwardedScheme != null && forwardedScheme.equals("https")) { | return "https"; | } | return super.getScheme(); | } | | @Override | public HttpServletRequest getRequest() { | return (HttpServletRequest) super.getRequest(); | } | } | } | (btw, it's the same header that rails looks for to determine proxied https requests, since we also have some rails apps) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4101498#4101498 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4101498 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user