[jboss-cvs] jbosssx/src/main/org/jboss/security/authorization/modules ...

Anil Saldhana anil.saldhana at jboss.com
Wed Jul 19 14:25:02 EDT 2006


  User: asaldhana
  Date: 06/07/19 14:25:02

  Modified:    src/main/org/jboss/security/authorization/modules   
                        AbstractAuthorizationModule.java
                        JACCAuthorizationModule.java
                        XACMLAuthorizationModule.java
  Log:
  JBAS-3324: pull up a common method into the base class.
  
  Revision  Changes    Path
  1.4       +39 -6     jbosssx/src/main/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AbstractAuthorizationModule.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosssx/src/main/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- AbstractAuthorizationModule.java	11 Jul 2006 17:54:36 -0000	1.3
  +++ AbstractAuthorizationModule.java	19 Jul 2006 18:25:02 -0000	1.4
  @@ -29,17 +29,18 @@
   import javax.security.auth.callback.CallbackHandler;
   
   import org.jboss.logging.Logger;
  +import org.jboss.security.authorization.AuthorizationContext;
   import org.jboss.security.authorization.AuthorizationException;
   import org.jboss.security.authorization.AuthorizationModule;
   import org.jboss.security.authorization.Resource;
   
  -//$Id: AbstractAuthorizationModule.java,v 1.3 2006/07/11 17:54:36 asaldhana Exp $
  +//$Id: AbstractAuthorizationModule.java,v 1.4 2006/07/19 18:25:02 asaldhana Exp $
   
   /**
    *  Abstraction of Authorization Module
    *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
    *  @since  Jun 14, 2006 
  - *  @version $Revision: 1.3 $
  + *  @version $Revision: 1.4 $
    */
   public abstract class AbstractAuthorizationModule implements AuthorizationModule
   {
  @@ -97,10 +98,13 @@
         this.sharedState = sharedState;
         this.options = options;
         //Check if there is a delegate map via options
  +      if(options != null)
  +      {
         String commaSeparatedDelegates = (String)options.get("delegateMap");
         if(commaSeparatedDelegates != null && commaSeparatedDelegates.length() > 0)
            populateDelegateMap(commaSeparatedDelegates);
      }
  +   }
      
      /**
       * Override to print more details
  @@ -112,6 +116,35 @@
         return buf.toString();
      }  
      
  +   //PROTECTED METHODS
  +   /**
  +    * Subclasses can use this method to leave the authorization 
  +    * decision to the delegate configured
  +    */
  +   protected int invokeDelegate(Resource resource)
  +   {
  +      int authorizationDecision = AuthorizationContext.DENY;
  +
  +      String layer = resource.getLayer();
  +      String delegateStr = (String)delegateMap.get(layer);
  +      if(delegateStr == null)
  +         throw new IllegalStateException("Delegate is missing for layer="+layer);
  +      AuthorizationModuleHelper delegate = null;
  +      try
  +      {
  +         delegate = getDelegate(delegateStr); 
  +         authorizationDecision = delegate.authorize(resource); 
  +      }
  +      catch(Exception e)
  +      {
  +         log.debug("Error with delegate:",e);
  +         IllegalStateException ise = new IllegalStateException(e.getLocalizedMessage());
  +         ise.initCause(e);
  +         throw ise;
  +      } 
  +      return authorizationDecision;
  +   }
  +   
      /**
       * Load the delegate
       * @param delegateStr FQN of the delegate
  
  
  
  1.2       +4 -24     jbosssx/src/main/org/jboss/security/authorization/modules/JACCAuthorizationModule.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: JACCAuthorizationModule.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosssx/src/main/org/jboss/security/authorization/modules/JACCAuthorizationModule.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- JACCAuthorizationModule.java	11 Jul 2006 18:07:57 -0000	1.1
  +++ JACCAuthorizationModule.java	19 Jul 2006 18:25:02 -0000	1.2
  @@ -22,16 +22,15 @@
   package org.jboss.security.authorization.modules;
     
   import org.jboss.logging.Logger;
  -import org.jboss.security.authorization.AuthorizationContext; 
   import org.jboss.security.authorization.Resource;
   
  -//$Id: JACCAuthorizationModule.java,v 1.1 2006/07/11 18:07:57 asaldhana Exp $
  +//$Id: JACCAuthorizationModule.java,v 1.2 2006/07/19 18:25:02 asaldhana Exp $
   
   /**
    *  Authorization Module that enforces JACC semantics
    *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
    *  @since  Jul 7, 2006 
  - *  @version $Revision: 1.1 $
  + *  @version $Revision: 1.2 $
    */
   public class JACCAuthorizationModule extends AbstractAuthorizationModule
   {   
  @@ -49,25 +48,6 @@
       */
      public int authorize(Resource resource)
      {
  -      int authorizationDecision = AuthorizationContext.DENY;
  -      
  -      String layer = resource.getLayer();
  -      String delegateStr = (String)delegateMap.get(layer);
  -      if(delegateStr == null)
  -         throw new IllegalStateException("Delegate is missing for layer="+layer);
  -      AuthorizationModuleHelper delegate = null;
  -      try
  -      {
  -         delegate = getDelegate(delegateStr); 
  -         authorizationDecision = delegate.authorize(resource); 
  -      }
  -      catch(Exception e)
  -      {
  -         log.debug("Error with delegate:",e);
  -         IllegalStateException ise = new IllegalStateException(e.getLocalizedMessage());
  -         ise.initCause(e);
  -         throw ise;
  -      } 
  -      return authorizationDecision;
  +      return this.invokeDelegate(resource);
      }  
   }
  
  
  
  1.6       +4 -24     jbosssx/src/main/org/jboss/security/authorization/modules/XACMLAuthorizationModule.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: XACMLAuthorizationModule.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosssx/src/main/org/jboss/security/authorization/modules/XACMLAuthorizationModule.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- XACMLAuthorizationModule.java	11 Jul 2006 17:54:36 -0000	1.5
  +++ XACMLAuthorizationModule.java	19 Jul 2006 18:25:02 -0000	1.6
  @@ -22,17 +22,16 @@
   package org.jboss.security.authorization.modules;
      
   import org.jboss.logging.Logger;
  -import org.jboss.security.authorization.AuthorizationContext; 
   import org.jboss.security.authorization.AuthorizationModule;
   import org.jboss.security.authorization.Resource; 
   
  -//$Id: XACMLAuthorizationModule.java,v 1.5 2006/07/11 17:54:36 asaldhana Exp $
  +//$Id: XACMLAuthorizationModule.java,v 1.6 2006/07/19 18:25:02 asaldhana Exp $
   
   /**
    *  Authorization Module that utilizes XACML
    *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
    *  @since  Jun 11, 2006 
  - *  @version $Revision: 1.5 $
  + *  @version $Revision: 1.6 $
    */
   public class XACMLAuthorizationModule extends AbstractAuthorizationModule
   { 
  @@ -52,25 +51,6 @@
       */
      public int authorize(Resource resource)
      { 
  -      int authorizationDecision = AuthorizationContext.DENY;
  -      
  -      String layer = resource.getLayer();
  -      String delegateStr = (String)delegateMap.get(layer);
  -      if(delegateStr == null)
  -         throw new IllegalStateException("Delegate is missing for layer="+layer);
  -      AuthorizationModuleHelper delegate = null;
  -      try
  -      {
  -         delegate = getDelegate(delegateStr); 
  -         authorizationDecision = delegate.authorize(resource); 
  -      }
  -      catch(Exception e)
  -      {
  -         log.debug("Error with delegate:",e);
  -         IllegalStateException ise = new IllegalStateException(e.getLocalizedMessage());
  -         ise.initCause(e);
  -         throw ise;
  -      } 
  -      return authorizationDecision;
  +      return this.invokeDelegate(resource);
      } 
    }
  
  
  



More information about the jboss-cvs-commits mailing list