[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