[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