Author: sohil.shah(a)jboss.com
Date: 2009-02-01 12:28:39 -0500 (Sun, 01 Feb 2009)
New Revision: 12763
Added:
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/model/PolicyMetaData.java
Modified:
modules/authorization/trunk/.classpath
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/model/Policy.java
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/components/http/HttpResource.java
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/MockPolicy.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/PolicyServer.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/plugin/HierarchialPolicy.java
Log:
backing up code.....leaving the hospital finallyyyyyyy ;)
Modified: modules/authorization/trunk/.classpath
===================================================================
--- modules/authorization/trunk/.classpath 2009-02-01 15:16:39 UTC (rev 12762)
+++ modules/authorization/trunk/.classpath 2009-02-01 17:28:39 UTC (rev 12763)
@@ -16,14 +16,14 @@
<classpathentry kind="src"
path="provisioning/src/main/resources"/>
<classpathentry kind="src"
path="provisioning/src/test/java"/>
<classpathentry kind="src"
path="provisioning/src/test/resources"/>
- <classpathentry kind="src"
path="http-profile/src/main/java"/>
- <classpathentry kind="src"
path="http-profile/src/main/resources"/>
- <classpathentry kind="src"
path="http-profile/src/test/java"/>
- <classpathentry kind="src"
path="http-profile/src/test/resources"/>
<classpathentry kind="src"
path="policy-server/src/main/java"/>
<classpathentry kind="src"
path="policy-server/src/main/resources"/>
<classpathentry kind="src"
path="policy-server/src/test/java"/>
<classpathentry kind="src"
path="policy-server/src/test/resources"/>
+ <classpathentry kind="src"
path="http-profile/src/main/java"/>
+ <classpathentry kind="src"
path="http-profile/src/main/resources"/>
+ <classpathentry kind="src"
path="http-profile/src/test/java"/>
+ <classpathentry kind="src"
path="http-profile/src/test/resources"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var"
path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
<classpathentry kind="var"
path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
Modified:
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/model/Policy.java
===================================================================
---
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/model/Policy.java 2009-02-01
15:16:39 UTC (rev 12762)
+++
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/model/Policy.java 2009-02-01
17:28:39 UTC (rev 12763)
@@ -22,10 +22,6 @@
******************************************************************************/
package org.jboss.security.authz.model;
-import java.util.Set;
-import java.util.HashSet;
-
-
/**
* Represents an Authorization Policy
*
@@ -34,50 +30,27 @@
*/
public abstract class Policy extends BaseObject
{
- protected String policyUri = null;
- protected Target target = null;
- protected Set<Rule> rules = null;
-
- /**
- *
- * @param policyUri
- */
- public Policy(String policyUri)
- {
- if(policyUri == null)
- {
- throw new IllegalArgumentException("PolicyUri cannot be Null");
- }
+ protected String policyUri;
+ protected PolicyMetaData metaData;
- this.policyUri = policyUri;
- this.rules = new HashSet<Rule>();
- }
-
-
/**
*
*
*/
- public Policy(String policyUri, Target target, Set<Rule> rules)
+ public Policy(String policyUri, PolicyMetaData metaData)
{
if(policyUri == null)
{
throw new IllegalArgumentException("PolicyUri cannot be Null");
}
- if(target == null)
+ if(metaData == null)
{
- throw new IllegalArgumentException("Target cannot be Null");
+ throw new IllegalArgumentException("PolicyMetaData cannot be Null");
}
-
- if(rules == null)
- {
- throw new IllegalArgumentException("Rules cannot be Null");
- }
-
+
this.policyUri = policyUri;
- this.target = target;
- this.rules = rules;
+ this.metaData = metaData;
}
/**
@@ -99,29 +72,16 @@
this.policyUri = policyUri;
}
- public Set<Rule> getRules()
+
+ public PolicyMetaData getMetaData()
{
- return rules;
+ return metaData;
}
- public void setRules(Set<Rule> rules)
+ public void setMetaData(PolicyMetaData metaData)
{
- if(rules == null)
- {
- rules = new HashSet<Rule>();
- }
- this.rules = rules;
+ this.metaData = metaData;
}
-
- public Target getTarget()
- {
- return target;
- }
-
- public void setTarget(Target target)
- {
- this.target = target;
- }
//------------------------------------------------------------------------------------------------------------------------------------------------
/**
* Generates the standard XACML markup that represents the Policy instance in
question
Added:
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/model/PolicyMetaData.java
===================================================================
---
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/model/PolicyMetaData.java
(rev 0)
+++
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/model/PolicyMetaData.java 2009-02-01
17:28:39 UTC (rev 12763)
@@ -0,0 +1,60 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+*/
+package org.jboss.security.authz.model;
+
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * Represents the Policy Information that is required to generate an instance of a
Policy
+ *
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ */
+public class PolicyMetaData implements Serializable
+{
+ private Target target;
+ private Set<Rule> rules;
+
+ public PolicyMetaData()
+ {
+ }
+
+ public Target getTarget()
+ {
+ return target;
+ }
+
+ public void setTarget(Target target)
+ {
+ this.target = target;
+ }
+
+ public Set<Rule> getRules()
+ {
+ return rules;
+ }
+
+ public void setRules(Set<Rule> rules)
+ {
+ this.rules = rules;
+ }
+}
Modified:
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/components/http/HttpResource.java
===================================================================
---
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/components/http/HttpResource.java 2009-02-01
15:16:39 UTC (rev 12762)
+++
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/components/http/HttpResource.java 2009-02-01
17:28:39 UTC (rev 12763)
@@ -34,6 +34,7 @@
import org.jboss.security.authz.model.Target;
import org.jboss.security.authz.model.Attribute;
import org.jboss.security.authz.model.Resource;
+import org.jboss.security.authz.model.PolicyMetaData;
import org.jboss.security.authz.tools.GeneralTool;
import org.jboss.security.xacml.interfaces.XACMLConstants;
@@ -285,6 +286,41 @@
return rule;
}
+
+ public PolicyMetaData getPolicyMetaData(boolean matchAllParameters)
+ {
+ PolicyMetaData metadata = new PolicyMetaData();
+
+ Target target = this.getURLTarget(matchAllParameters);
+
+ Set<Rule> rules = new HashSet<Rule>();
+
+ //Permitted Roles
+ Rule permittedRoles = this.getPermittedRolesRule();
+ if(permittedRoles != null)
+ {
+ rules.add(permittedRoles);
+ }
+
+ //Denied Roles
+ Rule deniedRoles = this.getDeniedRolesRule();
+ if(deniedRoles != null)
+ {
+ rules.add(deniedRoles);
+ }
+
+ //AllowedIP Rules
+ Rule allowedIps = this.getAllowedIpsRule();
+ if(allowedIps != null)
+ {
+ rules.add(allowedIps);
+ }
+
+ metadata.setTarget(target);
+ metadata.setRules(rules);
+
+ return metadata;
+ }
//---------Services for RequestContext
Generation------------------------------------------------------------------------------------------------------------------------------
/**
* Represents the Resource that is currently being accessed
Modified:
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/MockPolicy.java
===================================================================
---
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/MockPolicy.java 2009-02-01
15:16:39 UTC (rev 12762)
+++
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/MockPolicy.java 2009-02-01
17:28:39 UTC (rev 12763)
@@ -31,8 +31,8 @@
import javax.xml.bind.JAXBElement;
import org.jboss.security.authz.model.Policy;
+import org.jboss.security.authz.model.PolicyMetaData;
import org.jboss.security.authz.model.Rule;
-import org.jboss.security.authz.model.Target;
import org.jboss.security.authz.model.Effect;
import org.jboss.security.authz.model.PolicyException;
import org.jboss.security.authz.model.AttributeExpression;
@@ -72,18 +72,10 @@
*/
public class MockPolicy extends Policy
{
- /**
- *
- * @param policyUri
- */
- public MockPolicy(String policyUri)
- {
- super(policyUri);
- }
- public MockPolicy(String policyUri, Target target, Set<Rule> rules) throws
PolicyException
+ public MockPolicy(String policyUri, PolicyMetaData metaData) throws PolicyException
{
- super(policyUri, target, rules);
+ super(policyUri, metaData);
}
@@ -106,7 +98,7 @@
policyType.setTarget(targetType);
//Process Resource Matches as Targets for the Policy
- List<AttributeExpression> resourceMatches =
this.target.getResourceMatches();
+ List<AttributeExpression> resourceMatches =
this.metaData.getTarget().getResourceMatches();
if(resourceMatches != null && !resourceMatches.isEmpty())
{
ResourcesType resourcesType = new ResourcesType();
@@ -129,9 +121,10 @@
}
//Process the Policy Rules
- if(this.rules != null && !this.rules.isEmpty())
+ Set<Rule> rules = this.metaData.getRules();
+ if(rules != null && !rules.isEmpty())
{
- for(Rule rule: this.rules)
+ for(Rule rule: rules)
{
RuleType ruleType = new RuleType();
ruleType.setRuleId(rule.getRuleId());
Modified:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/PolicyServer.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/PolicyServer.java 2009-02-01
15:16:39 UTC (rev 12762)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/PolicyServer.java 2009-02-01
17:28:39 UTC (rev 12763)
@@ -92,4 +92,5 @@
return this.policyDecisionPoint.evaluate(xml);
}
//------- Provisioning
services-----------------------------------------------------------------------------------------------------------------------------
+
}
Modified:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/plugin/HierarchialPolicy.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/plugin/HierarchialPolicy.java 2009-02-01
15:16:39 UTC (rev 12762)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/plugin/HierarchialPolicy.java 2009-02-01
17:28:39 UTC (rev 12763)
@@ -26,7 +26,6 @@
import java.util.Set;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.util.UUID;
import javax.xml.bind.JAXBElement;
@@ -39,7 +38,7 @@
import org.jboss.security.authz.model.Policy;
import org.jboss.security.authz.model.PolicyException;
import org.jboss.security.authz.model.Rule;
-import org.jboss.security.authz.model.Target;
+import org.jboss.security.authz.model.PolicyMetaData;
import org.jboss.security.xacml.core.model.policy.ActionMatchType;
import org.jboss.security.xacml.core.model.policy.SubjectMatchType;
@@ -71,20 +70,11 @@
*
*/
public class HierarchialPolicy extends Policy
-{
- /**
- *
- * @param policyUri
- */
- public HierarchialPolicy(String policyUri)
+{
+ public HierarchialPolicy(String policyUri, PolicyMetaData metaData) throws
PolicyException
{
- super(policyUri);
+ super(policyUri, metaData);
}
-
- public HierarchialPolicy(String policyUri, Target target, Set<Rule> rules)
throws PolicyException
- {
- super(policyUri, target, rules);
- }
@Override
@@ -106,7 +96,7 @@
policyType.setTarget(targetType);
//Process Resource Matches as Targets for the Policy
- List<AttributeExpression> resourceMatches =
this.target.getResourceMatches();
+ List<AttributeExpression> resourceMatches =
this.metaData.getTarget().getResourceMatches();
if(resourceMatches != null && !resourceMatches.isEmpty())
{
ResourcesType resourcesType = new ResourcesType();
@@ -129,9 +119,10 @@
}
//Process the Policy Rules
- if(this.rules != null && !this.rules.isEmpty())
+ Set<Rule> rules = this.metaData.getRules();
+ if(rules != null && !rules.isEmpty())
{
- for(Rule rule: this.rules)
+ for(Rule rule: rules)
{
RuleType ruleType = new RuleType();
ruleType.setRuleId(rule.getRuleId());
@@ -274,10 +265,5 @@
}
return condition;
- }
-
- private String generateUniqueId()
- {
- return UUID.randomUUID().toString();
- }
+ }
}