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

Anil Saldhana anil.saldhana at jboss.com
Tue Jul 11 13:54:36 EDT 2006


  User: asaldhana
  Date: 06/07/11 13:54:36

  Modified:    src/main/org/jboss/security/authorization/modules  
                        AbstractAuthorizationModule.java
                        XACMLAuthorizationModule.java
  Log:
  JBAS-3324: Move delegate functionality up into the base class
  
  Revision  Changes    Path
  1.3       +68 -3     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.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- AbstractAuthorizationModule.java	29 Jun 2006 20:57:26 -0000	1.2
  +++ AbstractAuthorizationModule.java	11 Jul 2006 17:54:36 -0000	1.3
  @@ -21,21 +21,25 @@
     */
   package org.jboss.security.authorization.modules;
   
  +import java.util.HashMap;
   import java.util.Map;
  +import java.util.StringTokenizer;
   
   import javax.security.auth.Subject;
   import javax.security.auth.callback.CallbackHandler;
   
  +import org.jboss.logging.Logger;
  +import org.jboss.security.authorization.AuthorizationException;
   import org.jboss.security.authorization.AuthorizationModule;
   import org.jboss.security.authorization.Resource;
   
  -//$Id: AbstractAuthorizationModule.java,v 1.2 2006/06/29 20:57:26 asaldhana Exp $
  +//$Id: AbstractAuthorizationModule.java,v 1.3 2006/07/11 17:54:36 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.2 $
  + *  @version $Revision: 1.3 $
    */
   public abstract class AbstractAuthorizationModule implements AuthorizationModule
   {
  @@ -44,9 +48,33 @@
      protected Map sharedState = null;
      protected Map options = null;
      
  +   protected Logger log = null;
  +   
  +   /** Map of delegates for the various layers */
  +   protected Map delegateMap = new HashMap();
  +   
  +   /**
  +    * @see AuthorizationModule#authorize(Resource)
  +    */
      public abstract int authorize(Resource resource); 
   
      /**
  +    * @see AuthorizationModule#abort()
  +    */
  +   public boolean abort() throws AuthorizationException
  +   {
  +      return true;
  +   }
  +
  +   /**
  +    * @see AuthorizationModule#commit()
  +    */
  +   public boolean commit() throws AuthorizationException
  +   {
  +      return true;
  +   } 
  +   
  +   /**
       * @see AuthorizationModule#destroy()
       */
      public boolean destroy()
  @@ -68,6 +96,10 @@
         this.handler = handler;
         this.sharedState = sharedState;
         this.options = options;
  +      //Check if there is a delegate map via options
  +      String commaSeparatedDelegates = (String)options.get("delegateMap");
  +      if(commaSeparatedDelegates != null && commaSeparatedDelegates.length() > 0)
  +         populateDelegateMap(commaSeparatedDelegates);
      }
      
      /**
  @@ -79,4 +111,37 @@
         buf.append(":subject="+subject);
         return buf.toString();
      }  
  +   
  +   /**
  +    * Load the delegate
  +    * @param delegateStr FQN of the delegate
  +    * @return Delegate Instance
  +    * @throws Exception
  +    */
  +   protected AuthorizationModuleHelper getDelegate(String delegateStr) 
  +   throws Exception
  +   {
  +      ClassLoader tcl = Thread.currentThread().getContextClassLoader();
  +      Class clazz = tcl.loadClass(delegateStr);
  +      return (AuthorizationModuleHelper)clazz.newInstance();
  +   }
  +   
  +   /**
  +    * Options may have a comma separated delegate map
  +    * @param commaSeparatedDelegates
  +    */
  +   protected void populateDelegateMap(String commaSeparatedDelegates)
  +   {
  +      StringTokenizer st = new StringTokenizer(commaSeparatedDelegates,",");
  +      while(st.hasMoreTokens())
  +      {
  +         String keyPair = st.nextToken();
  +         StringTokenizer keyst = new StringTokenizer(keyPair,"=");
  +         if(keyst.countTokens() != 2)
  +            throw new IllegalStateException("DelegateMap entry invalid:"+keyPair);
  +         String key = keyst.nextToken();
  +         String value = keyst.nextToken();
  +         this.delegateMap.put(key,value);
  +      }   
  +   }
   }
  
  
  
  1.5       +8 -82     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.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- XACMLAuthorizationModule.java	7 Jul 2006 16:30:07 -0000	1.4
  +++ XACMLAuthorizationModule.java	11 Jul 2006 17:54:36 -0000	1.5
  @@ -21,36 +21,26 @@
     */
   package org.jboss.security.authorization.modules;
    
  -import java.util.HashMap;
  -import java.util.Map;
  -import java.util.StringTokenizer;
  -
  -import javax.security.auth.Subject;
  -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: XACMLAuthorizationModule.java,v 1.4 2006/07/07 16:30:07 asaldhana Exp $
  +//$Id: XACMLAuthorizationModule.java,v 1.5 2006/07/11 17:54:36 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.4 $
  + *  @version $Revision: 1.5 $
    */
   public class XACMLAuthorizationModule extends AbstractAuthorizationModule
   { 
      private static Logger log = Logger.getLogger(XACMLAuthorizationModule.class);
      
  -   /** Map of delegates for the various layers */
  -   private Map delegateMap = new HashMap();
  -   
      public XACMLAuthorizationModule()
      {
  +      log = Logger.getLogger(getClass());
         delegateMap.put(Resource.WEB,
             "org.jboss.web.tomcat.security.authorization.WebXACMLPolicyModuleHelper");
         delegateMap.put(Resource.EJB,
  @@ -58,37 +48,6 @@
      }
      
      /**
  -    * @see AuthorizationModule#initialize(Subject, CallbackHandler, Map, Map)
  -    */
  -   public void initialize(Subject subject, CallbackHandler handler, 
  -         Map sharedState, Map options)
  -   {
  -      super.initialize(subject, handler, sharedState, options);
  -      //Check if there is a delegate map via options
  -      String commaSeparatedDelegates = (String)options.get("delegateMap");
  -      if(commaSeparatedDelegates != null && commaSeparatedDelegates.length() > 0)
  -         populateDelegateMap(commaSeparatedDelegates);
  -   }
  - 
  -
  -   /**
  -    * @see AuthorizationModule#abort()
  -    */
  -   public boolean abort() throws AuthorizationException
  -   {
  -      return true;
  -   }
  -
  -   /**
  -    * @see AuthorizationModule#commit()
  -    */
  -   public boolean commit() throws AuthorizationException
  -   {
  -      return true;
  -   }
  - 
  -
  -   /**
       * @see AuthorizationModule#authorize(Resource)
       */
      public int authorize(Resource resource)
  @@ -114,37 +73,4 @@
         } 
         return authorizationDecision;
      }
  -   
  -   /**
  -    * Load the delegate
  -    * @param delegateStr FQN of the delegate
  -    * @return Delegate Instance
  -    * @throws Exception
  -    */
  -   private AuthorizationModuleHelper getDelegate(String delegateStr) 
  -   throws Exception
  -   {
  -      ClassLoader tcl = Thread.currentThread().getContextClassLoader();
  -      Class clazz = tcl.loadClass(delegateStr);
  -      return (AuthorizationModuleHelper)clazz.newInstance();
  -   }
  -   
  -   /**
  -    * Options may have a comma separated delegate map
  -    * @param commaSeparatedDelegates
  -    */
  -   private void populateDelegateMap(String commaSeparatedDelegates)
  -   {
  -      StringTokenizer st = new StringTokenizer(commaSeparatedDelegates,",");
  -      while(st.hasMoreTokens())
  -      {
  -         String keyPair = st.nextToken();
  -         StringTokenizer keyst = new StringTokenizer(keyPair,"=");
  -         if(keyst.countTokens() != 2)
  -            throw new IllegalStateException("DelegateMap entry invalid:"+keyPair);
  -         String key = keyst.nextToken();
  -         String value = keyst.nextToken();
  -         this.delegateMap.put(key,value);
  -      }   
  -   }
    }
  
  
  



More information about the jboss-cvs-commits mailing list