cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cziege...@apache.org
Subject cvs commit: cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/acting LogoutAction.java
Date Fri, 07 Nov 2003 11:21:50 GMT
cziegeler    2003/11/07 03:21:50

  Modified:    src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/configuration
                        HandlerConfiguration.java
                        ApplicationConfiguration.java
               src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components
                        DefaultAuthenticationManager.java
               src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/acting
                        LogoutAction.java
  Log:
  Start adding save on logout
  
  Revision  Changes    Path
  1.3       +26 -7     cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/configuration/HandlerConfiguration.java
  
  Index: HandlerConfiguration.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/configuration/HandlerConfiguration.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HandlerConfiguration.java	12 Jul 2003 18:39:49 -0000	1.2
  +++ HandlerConfiguration.java	7 Nov 2003 11:21:50 -0000	1.3
  @@ -109,6 +109,9 @@
       /** The configuration fragments */
       private Map configurations;
   
  +    /** Save the context on logout */
  +    private boolean saveOnLogout = false;
  +    
       /**
        * Create a new handler object.
        */
  @@ -169,6 +172,7 @@
           if (child != null) {
               this.saveResource = child.getAttribute("uri");
               this.saveResourceParameters = SourceParameters.create(child);
  +            this.saveOnLogout = child.getAttributeAsBoolean("saveOnLogout", false);
           }
   
           // And now: Applications
  @@ -251,21 +255,36 @@
       }
   
       /** Get the save resource */
  -    public String getSaveResource() { return this.saveResource; }
  +    public String getSaveResource() { 
  +        return this.saveResource; }
  +    
   
       /** Get the load resource */
  -    public String getLoadResource() { return this.loadResource; }
  +    public String getLoadResource() { 
  +        return this.loadResource; 
  +    }
   
  +    /** Should we save on logout? */
  +    public boolean saveOnLogout() { 
  +        return this.saveOnLogout;
  +    }
  +    
       /** Get the save resource */
  -    public SourceParameters getSaveResourceParameters() { return this.saveResourceParameters;
}
  +    public SourceParameters getSaveResourceParameters() { 
  +        return this.saveResourceParameters;
  +    }
   
       /** Get the load resource parameters */
  -    public SourceParameters getLoadResourceParameters() { return this.loadResourceParameters;
}
  +    public SourceParameters getLoadResourceParameters() { 
  +        return this.loadResourceParameters; 
  +    }
   
       /**
        * Get the applications map
        */
  -    public Map getApplications() { return applications; }
  +    public Map getApplications() { 
  +        return applications; 
  +    }
   
       /**
        * Get the configuration
  @@ -278,7 +297,7 @@
        * toString()
        */
       public String toString() {
  -        return "authentication-Handler " + this.name;
  +        return "authentication handler '" + this.name + "' (" + super.toString() + ')';
       }
       
       /**
  
  
  
  1.2       +19 -4     cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/configuration/ApplicationConfiguration.java
  
  Index: ApplicationConfiguration.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/configuration/ApplicationConfiguration.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ApplicationConfiguration.java	27 Apr 2003 12:52:53 -0000	1.1
  +++ ApplicationConfiguration.java	7 Nov 2003 11:21:50 -0000	1.2
  @@ -95,6 +95,9 @@
       /** The configuration fragments */
       private Map configurations;
   
  +    /** Save the context on logout */
  +    private boolean saveOnLogout = false;
  +
       /**
        * Construct a new application handler
        */
  @@ -132,6 +135,7 @@
           if (child != null) {
               this.saveResource = child.getAttribute("uri");
               this.saveResourceParameters = SourceParameters.create(child);
  +            this.saveOnLogout = child.getAttributeAsBoolean("saveOnLogout", false);
           }
   
           // get configurations (optional)
  @@ -151,12 +155,16 @@
       /**
        * Get the application name.
        */
  -    public String getName() { return name; }
  +    public String getName() { 
  +        return this.name; 
  +    }
   
       /**
        * Get the handler
        */
  -    public HandlerConfiguration getHandler() { return handler; }
  +    public HandlerConfiguration getHandler() { 
  +        return this.handler; 
  +    }
   
       /**
        * Get the load resource
  @@ -186,7 +194,14 @@
           return this.saveResourceParameters;
       }
   
  -    public boolean getLoadOnDemand() { return loadOnDemand; }
  +    /** Should we save on logout? */
  +    public boolean saveOnLogout() { 
  +        return this.saveOnLogout;
  +    }
  +
  +    public boolean getLoadOnDemand() { 
  +        return loadOnDemand; 
  +    }
   
       /**
        * Get the configuration
  
  
  
  1.21      +29 -1     cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components/DefaultAuthenticationManager.java
  
  Index: DefaultAuthenticationManager.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components/DefaultAuthenticationManager.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- DefaultAuthenticationManager.java	24 Oct 2003 08:41:46 -0000	1.20
  +++ DefaultAuthenticationManager.java	7 Nov 2003 11:21:50 -0000	1.21
  @@ -419,6 +419,34 @@
           // we don't throw an exception if we are already logged out!
           if ( handler != null ) {
               
  +            // Do we save something on logout?
  +            /*
  +            
  +            if ( config.saveOnLogout() 
  +                 && config.getSaveResource() != null) {
  +                final AuthenticationContext authContext = handler.getContext();
  +                try {
  +                    // This might not work, because of the missing state
  +                    authContext.saveXML("/authentication", 
  +                                    null, 
  +                                    ContextHelper.getObjectModel(this.context), 
  +                                    this.resolver, this.manager);
  +                } catch (Exception ignore) {
  +                    // we don't want to stop the logout process
  +                    // because of errors during save
  +                    this.getLogger().error("Exception while saving authentication information.",
ignore);
  +                }
  +            }
  +            // save applications (if configured)
  +            Iterator iter = config.getApplications().values().iterator();
  +            while ( iter.hasNext() ) {
  +                ApplicationConfiguration appConfig = (ApplicationConfiguration) iter.next();
  +                if ( appConfig.saveOnLogout()
  +                     && appConfig.getSaveResource() != null ) {
  +                     // ???
  +                }
  +            }
  +            */
               // notify the authenticator
               try {
                   this.lookupAuthenticator(config).logout(handler);
  
  
  
  1.6       +3 -2      cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/acting/LogoutAction.java
  
  Index: LogoutAction.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/acting/LogoutAction.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- LogoutAction.java	15 Oct 2003 20:47:14 -0000	1.5
  +++ LogoutAction.java	7 Nov 2003 11:21:50 -0000	1.6
  @@ -105,8 +105,9 @@
               
               final String handlerName = par.getParameter("handler",
                                                            (state == null ? null : state.getHandlerName()));
  -            if ( null == handlerName )
  +            if ( null == handlerName ) {
                   throw new ProcessingException("LogoutAction requires at least the handler
parameter.");
  +            }
               authManager.logout( handlerName , mode );
           } finally {
               this.manager.release( authManager );
  
  
  

Mime
View raw message