luehe       2004/09/16 11:18:41

  Modified:    catalina/src/share/org/apache/catalina/authenticator
                        SingleSignOn.java
  Log:
  - Removed deregister(String ssoid), because it is no longer needed
    (used to be called when session was logged out, which is no longer
    supported)
  
  - Replaced call to removeSession(String, Session) with
    deregister(String, Session), which is identical, and removed
    removeSession(String, Session) because it is no longer needed
  
  Revision  Changes    Path
  1.18      +3 -92     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java
  
  Index: SingleSignOn.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- SingleSignOn.java 29 Aug 2004 16:46:09 -0000      1.17
  +++ SingleSignOn.java 16 Sep 2004 18:18:41 -0000      1.18
  @@ -287,24 +287,10 @@
           synchronized (reverse) {
               ssoId = (String) reverse.get(session);
           }
  -        if (ssoId == null)
  +        if (ssoId == null) {
               return;
  -
  -        // Was the session destroyed as the result of a timeout?
  -        // If so, we'll just remove the expired session from the
  -        // SSO.  If the session was logged out, we'll log out
  -        // of all session associated with the SSO.
  -        if ((session.getMaxInactiveInterval() > 0)
  -            && (System.currentTimeMillis() - session.getLastAccessedTime() >=
  -                session.getMaxInactiveInterval() * 1000)) {
  -            removeSession(ssoId, session);
  -        } else {
  -            // The session was logged out.
  -            // Deregister this single session id, invalidating 
  -            // associated sessions
  -            deregister(ssoId);
           }
  -
  +        deregister(ssoId, session);
       }
   
   
  @@ -468,46 +454,6 @@
   
   
       /**
  -     * Deregister the specified single sign on identifier, and invalidate
  -     * any associated sessions.
  -     *
  -     * @param ssoId Single sign on identifier to deregister
  -     */
  -    protected void deregister(String ssoId) {
  -
  -        if (container.getLogger().isDebugEnabled())
  -            container.getLogger().debug("Deregistering sso id '" + ssoId + "'");
  -
  -        // Look up and remove the corresponding SingleSignOnEntry
  -        SingleSignOnEntry sso = null;
  -        synchronized (cache) {
  -            sso = (SingleSignOnEntry) cache.remove(ssoId);
  -        }
  -
  -        if (sso == null)
  -            return;
  -
  -        // Expire any associated sessions
  -        Session sessions[] = sso.findSessions();
  -        for (int i = 0; i < sessions.length; i++) {
  -            if (container.getLogger().isTraceEnabled())
  -                container.getLogger().trace(" Invalidating session " + sessions[i]);
  -            // Remove from reverse cache first to avoid recursion
  -            synchronized (reverse) {
  -                reverse.remove(sessions[i]);
  -            }
  -            // Invalidate this session
  -            sessions[i].expire();
  -        }
  -
  -        // NOTE:  Clients may still possess the old single sign on cookie,
  -        // but it will be removed on the next request since it is no longer
  -        // in the cache
  -
  -    }
  -
  -
  -    /**
        * Attempts reauthentication to the given <code>Realm</code> using
        * the credentials associated with the single sign-on session
        * identified by argument <code>ssoId</code>.
  @@ -636,39 +582,4 @@
           }
   
       }
  -
  -    
  -    /**
  -     * Remove a single Session from a SingleSignOn.  Called when
  -     * a session is timed out and no longer active.
  -     *
  -     * @param ssoId Single sign on identifier from which to remove the session.
  -     * @param session the session to be removed.
  -     */
  -    protected void removeSession(String ssoId, Session session) {
  -
  -        if (container.getLogger().isDebugEnabled())
  -            container.getLogger().debug("Removing session " + session.toString() + 
" from sso id " + 
  -                ssoId );
  -
  -        // Get a reference to the SingleSignOn
  -        SingleSignOnEntry entry = lookup(ssoId);
  -        if (entry == null)
  -            return;
  -
  -        // Remove the inactive session from SingleSignOnEntry
  -        entry.removeSession(session);
  -
  -        // Remove the inactive session from the 'reverse' Map.
  -        synchronized(reverse) {
  -            reverse.remove(session);
  -        }
  -
  -        // If there are not sessions left in the SingleSignOnEntry,
  -        // deregister the entry.
  -        if (entry.findSessions().length == 0) {
  -            deregister(ssoId);
  -        }
  -    }
  -
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to