From do-not-reply at jboss.org Mon Apr 5 17:20:32 2010 Content-Type: multipart/mixed; boundary="===============3625568551766300880==" MIME-Version: 1.0 From: do-not-reply at jboss.org To: gatein-commits at lists.jboss.org Subject: [gatein-commits] gatein SVN: r2476 - components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter. Date: Mon, 05 Apr 2010 17:20:32 -0400 Message-ID: <201004052120.o35LKWfY011182@svn01.web.mwc.hst.phx2.redhat.com> --===============3625568551766300880== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: sohil.shah(a)jboss.com Date: 2010-04-05 17:20:30 -0400 (Mon, 05 Apr 2010) New Revision: 2476 Added: components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/Log= inRedirectFilter.java Log: GTNPORTAL-997 - SSO integration: after click to "Sign in" is shown dialog (= UILoginForm.gtmpl) and SSO console a while after it Added: components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter= /LoginRedirectFilter.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/Lo= ginRedirectFilter.java (rev 0) +++ components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/filter/Lo= ginRedirectFilter.java 2010-04-05 21:20:30 UTC (rev 2476) @@ -0,0 +1,82 @@ +/* +* JBoss, a division of Red Hat +* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as = indicated +* by the @authors tag. See the copyright.txt in the distribution for a +* full listing of individual contributors. +* +* This is free software; you can redistribute it and/or modify it +* under the terms of the GNU Lesser General Public License as +* published by the Free Software Foundation; either version 2.1 of +* the License, or (at your option) any later version. +* +* This software is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this software; if not, write to the Free +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +* 02110-1301 USA, or see the FSF site: http://www.fsf.org. +*/ +package org.gatein.sso.agent.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +//Works for GateIn Portal Login Url =3D {AnyURL}?portal:componentId=3DUIPo= rtal&portal:action=3DShowLoginForm&ajaxRequest=3Dtrue + + +/** + * @author Sohil Shah + */ +public class LoginRedirectFilter implements Filter +{ + private String loginUrl; + = + public void init(FilterConfig config) throws ServletException + { + this.loginUrl =3D config.getInitParameter("LOGIN_URL"); + } + = + public void destroy() + { + } + + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException + { + HttpServletRequest httpRequest =3D (HttpServletRequest) request; + HttpServletResponse httpResponse =3D (HttpServletResponse) response; + = + boolean isLoginInProgress =3D this.isLoginInProgress(httpRequest); + if(isLoginInProgress) + { + httpResponse.sendRedirect(this.loginUrl); + = + return; + } + = + chain.doFilter(request, response); + } + = + private boolean isLoginInProgress(HttpServletRequest request) + { + String action =3D request.getRequestURI(); + + if (action !=3D null && action.equals("/portal/sso")) + { + return true; + } + + return false; + } +} --===============3625568551766300880==--