Author: pero Date: Thu Jan 18 09:11:59 2007 New Revision: 497501 URL: http://svn.apache.org/viewvc?view=rev&rev=497501 Log: Don't send a SSO ADD_SESSION event to cluster nodes after every auth request.
Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java?view=diff&rev=497501&r1=497500&r2=497501 ============================================================================== --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java Thu Jan 18 09:11:59 2007 @@ -116,6 +116,21 @@ } /** + * Is <code>Session</code> associated with this SSO? + * + * @param sso The <code>SingleSignOn</code> valve that is managing + * the SSO session. + * @return session exists + */ + public synchronized boolean sessionExists(Session session) { + for (int i = 0; i < sessions.length; i++) { + if (session == sessions[i]) + return true; + } + return false ; + } + + /** * Gets the name of the authentication type originally used to authenticate * the user associated with the SSO. * Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java?view=diff&rev=497501&r1=497500&r2=497501 ============================================================================== --- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java (original) +++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java Thu Jan 18 09:11:59 2007 @@ -29,6 +29,7 @@ import org.apache.catalina.Manager; import org.apache.catalina.Session; import org.apache.catalina.authenticator.SingleSignOn; +import org.apache.catalina.authenticator.SingleSignOnEntry; import org.apache.catalina.cluster.CatalinaCluster; import org.apache.catalina.cluster.ClusterManager; import org.apache.catalina.cluster.ClusterValve; @@ -52,7 +53,7 @@ * * @author Fabien Carrion * @author Peter Rossbach - * @version $Revision:$ $Date:$ + * @version $Revision$ $Date$ */ public class ClusterSingleSignOn @@ -180,9 +181,15 @@ * @param session Session to be associated */ protected void associate(String ssoId, Session session) { - sendSSOId(ssoId,session,SingleSignOnMessage.ADD_SESSION) ; - associateLocal(ssoId, session); - + boolean addSession = true ; + SingleSignOnEntry entry = lookup(ssoId); + if (entry != null) { + addSession = !entry.sessionExists(session); + } + if(addSession) { + sendSSOId(ssoId,session,SingleSignOnMessage.ADD_SESSION) ; + associateLocal(ssoId, session); + } } protected void associateLocal(String ssoId, Session session) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]