Author: sohil.shah(a)jboss.com
Date: 2009-01-28 02:02:58 -0500 (Wed, 28 Jan 2009)
New Revision: 12682
Added:
modules/authorization/trunk/core-components/
modules/authorization/trunk/core-components/pom.xml
modules/authorization/trunk/core-components/src/
modules/authorization/trunk/core-components/src/main/
modules/authorization/trunk/core-components/src/main/java/
modules/authorization/trunk/core-components/src/main/java/org/
modules/authorization/trunk/core-components/src/main/java/org/jboss/
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/components/
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/components/subject/
modules/authorization/trunk/core-components/src/main/resources/
modules/authorization/trunk/core-components/src/test/
modules/authorization/trunk/core-components/src/test/java/
modules/authorization/trunk/core-components/src/test/java/org/
modules/authorization/trunk/core-components/src/test/java/org/jboss/
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/components/
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/components/subject/
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/
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/NoPermitMeansDeniedAlg.java
modules/authorization/trunk/core-components/src/test/resources/
modules/authorization/trunk/core-components/src/test/resources/log4j.properties
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/components/
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/components/TestHttpResource.java
Removed:
modules/authorization/trunk/PAP/src/test/java/org/jboss/security/authz/components/subject/
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/components/subject/
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/pap/TestHttpResource.java
Modified:
modules/authorization/trunk/.classpath
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/components/subject/TestIdentity.java
modules/authorization/trunk/pom.xml
Log:
some refactoring of project structure
Modified: modules/authorization/trunk/.classpath
===================================================================
--- modules/authorization/trunk/.classpath 2009-01-28 06:09:13 UTC (rev 12681)
+++ modules/authorization/trunk/.classpath 2009-01-28 07:02:58 UTC (rev 12682)
@@ -4,6 +4,10 @@
<classpathentry kind="src" path="common/src/main/resources"/>
<classpathentry kind="src" path="common/src/test/java"/>
<classpathentry kind="src" path="common/src/test/resources"/>
+ <classpathentry kind="src"
path="core-components/src/main/java"/>
+ <classpathentry kind="src"
path="core-components/src/main/resources"/>
+ <classpathentry kind="src"
path="core-components/src/test/java"/>
+ <classpathentry kind="src"
path="core-components/src/test/resources"/>
<classpathentry kind="src" path="PEP/src/main/java"/>
<classpathentry kind="src" path="PEP/src/main/resources"/>
<classpathentry kind="src" path="PEP/src/test/java"/>
Added: modules/authorization/trunk/core-components/pom.xml
===================================================================
--- modules/authorization/trunk/core-components/pom.xml (rev 0)
+++ modules/authorization/trunk/core-components/pom.xml 2009-01-28 07:02:58 UTC (rev
12682)
@@ -0,0 +1,55 @@
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.jboss.security.authz</groupId>
+ <artifactId>jboss-authz-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jboss-authz-core-components</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Authorization Core Components</name>
+ <url>http://www.jboss.org</url>
+ <description>Contains Core Security Components</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.security.authz</groupId>
+ <artifactId>jboss-authz-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- jboss xacml -->
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-xacml</artifactId>
+ </dependency>
+
+ <!-- junit -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3.1</version>
+ <configuration>
+ <includes>
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Copied:
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/components/subject
(from rev 12681,
modules/authorization/trunk/common/src/main/java/org/jboss/security/authz/components/subject)
Property changes on:
modules/authorization/trunk/core-components/src/main/java/org/jboss/security/authz/components/subject
___________________________________________________________________
Name: svn:mergeinfo
+
Copied:
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/components/subject
(from rev 12681,
modules/authorization/trunk/PAP/src/test/java/org/jboss/security/authz/components/subject)
Property changes on:
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/components/subject
___________________________________________________________________
Name: svn:mergeinfo
+
Modified:
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/components/subject/TestIdentity.java
===================================================================
---
modules/authorization/trunk/PAP/src/test/java/org/jboss/security/authz/components/subject/TestIdentity.java 2009-01-28
06:09:13 UTC (rev 12681)
+++
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/components/subject/TestIdentity.java 2009-01-28
07:02:58 UTC (rev 12682)
@@ -31,7 +31,7 @@
import org.jboss.security.authz.model.Policy;
import org.jboss.security.authz.model.Rule;
import org.jboss.security.authz.model.ExpressionBuilder;
-import org.jboss.security.authz.pap.policy.HierarchialPolicy;
+import org.jboss.security.authz.test.MockPolicy;
/**
* @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
@@ -52,7 +52,7 @@
Set<Rule> rules = new HashSet<Rule>();
rules.add(identity.getAllowAuthMethodRule());
- Policy policy = new HierarchialPolicy("testGetAllowAuthMethodRule", target,
rules);
+ Policy policy = new MockPolicy("testGetAllowAuthMethodRule", target, rules);
log.info("----------------------------------------------------------------");
log.info(policy.generateXACMLPolicy());
@@ -70,7 +70,7 @@
Set<Rule> rules = new HashSet<Rule>();
rules.add(identity.getDenyAuthMethodRule());
- Policy policy = new HierarchialPolicy("testGetDenyAuthMethodRule", target,
rules);
+ Policy policy = new MockPolicy("testGetDenyAuthMethodRule", target, rules);
log.info("----------------------------------------------------------------");
log.info(policy.generateXACMLPolicy());
@@ -88,7 +88,7 @@
Set<Rule> rules = new HashSet<Rule>();
rules.add(identity.getAllowIdentityRule());
- Policy policy = new HierarchialPolicy("testGetAllowIdentityRule", target,
rules);
+ Policy policy = new MockPolicy("testGetAllowIdentityRule", target, rules);
log.info("----------------------------------------------------------------");
log.info(policy.generateXACMLPolicy());
@@ -106,7 +106,7 @@
Set<Rule> rules = new HashSet<Rule>();
rules.add(identity.getDenyIdentityRule());
- Policy policy = new HierarchialPolicy("testGetDenyIdentityRule", target,
rules);
+ Policy policy = new MockPolicy("testGetDenyIdentityRule", target, rules);
log.info("----------------------------------------------------------------");
log.info(policy.generateXACMLPolicy());
Added:
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
(rev 0)
+++
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/MockPolicy.java 2009-01-28
07:02:58 UTC (rev 12682)
@@ -0,0 +1,283 @@
+/******************************************************************************
+ * 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.test;
+
+import java.util.List;
+import java.util.Set;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.UUID;
+
+import javax.xml.bind.JAXBElement;
+
+import org.jboss.security.authz.model.Policy;
+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;
+import org.jboss.security.authz.model.DroolsRuleExpression;
+import org.jboss.security.authz.model.Expression;
+import org.jboss.security.authz.xacml.AttributeDesignatorUtil;
+import org.jboss.security.authz.xacml.PolicyUtil;
+
+import org.jboss.security.xacml.core.model.policy.ActionMatchType;
+import org.jboss.security.xacml.core.model.policy.SubjectMatchType;
+import org.jboss.security.xacml.core.model.policy.ApplyType;
+import org.jboss.security.xacml.core.model.policy.VariableReferenceType;
+import org.jboss.security.xacml.core.model.policy.EffectType;
+import org.jboss.security.xacml.core.model.policy.PolicyType;
+import org.jboss.security.xacml.core.model.policy.ResourceMatchType;
+import org.jboss.security.xacml.core.model.policy.ResourcesType;
+import org.jboss.security.xacml.core.model.policy.ResourceType;
+import org.jboss.security.xacml.core.model.policy.ActionsType;
+import org.jboss.security.xacml.core.model.policy.ActionType;
+import org.jboss.security.xacml.core.model.policy.SubjectsType;
+import org.jboss.security.xacml.core.model.policy.SubjectType;
+import org.jboss.security.xacml.core.model.policy.RuleType;
+import org.jboss.security.xacml.core.model.policy.TargetType;
+import org.jboss.security.xacml.core.model.policy.ConditionType;
+import org.jboss.security.xacml.core.model.policy.ObjectFactory;
+import org.jboss.security.xacml.core.model.policy.AttributeValueType;
+import org.jboss.security.xacml.core.model.policy.SubjectAttributeDesignatorType;
+import org.jboss.security.xacml.factories.PolicyAttributeFactory;
+
+/**
+ * Used for specifying policies for Resources represented by unique URIs, sometimes
forming a tree like relationship with other Resources in the system
+ *
+ * An example of such resources would be tree of resources/nodes in a Content Management
System
+ *
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ *
+ */
+public class MockPolicy extends Policy
+{
+ /**
+ *
+ * @param policyUri
+ */
+ public MockPolicy(String policyUri)
+ {
+ super(policyUri);
+ }
+
+ public MockPolicy(String policyUri, Target target, Set<Rule> rules) throws
PolicyException
+ {
+ super(policyUri, target, rules);
+ }
+
+
+ @Override
+ public String generateXACMLPolicy() throws PolicyException
+ {
+ ByteArrayOutputStream bos = null;
+ try
+ {
+ String xacmlXml = null;
+
+ //SetUp the Policy Header
+ ObjectFactory objectFactory = new ObjectFactory();
+ PolicyType policyType = new PolicyType();
+ policyType.setPolicyId(this.policyUri);
+ policyType.setVersion("2.0");
+ policyType.setRuleCombiningAlgId(new
NoPermitMeansDeniedAlg().getIdentifier().toString());
+
+ TargetType targetType = new TargetType();
+ policyType.setTarget(targetType);
+
+ //Process Resource Matches as Targets for the Policy
+ List<AttributeExpression> resourceMatches =
this.target.getResourceMatches();
+ if(resourceMatches != null && !resourceMatches.isEmpty())
+ {
+ ResourcesType resourcesType = new ResourcesType();
+ targetType.setResources(resourcesType);
+ ResourceType resourceType = new ResourceType();
+
+ for(AttributeExpression resourceMatch: resourceMatches)
+ {
+ ResourceMatchType rmt = new ResourceMatchType();
+
+ rmt.setMatchId(resourceMatch.getFunctionId());
+
rmt.setResourceAttributeDesignator(AttributeDesignatorUtil.getAttributeDesignator(resourceMatch.getAttribute()));
+ rmt.setAttributeValue(PolicyAttributeFactory
+ .createStringAttributeType(resourceMatch.getAttribute().getValue()));
+
+ resourceType.getResourceMatch().add(rmt);
+ }
+
+ resourcesType.getResource().add(resourceType);
+ }
+
+ //Process the Policy Rules
+ if(this.rules != null && !this.rules.isEmpty())
+ {
+ for(Rule rule: this.rules)
+ {
+ RuleType ruleType = new RuleType();
+ ruleType.setRuleId(rule.getRuleId());
+ if(rule.getEffect() == Effect.PERMIT)
+ {
+ ruleType.setEffect(EffectType.PERMIT);
+ }
+ else
+ {
+ ruleType.setEffect(EffectType.DENY);
+ }
+
+ //Process the Rule Target
+ if(rule.getTarget() != null)
+ {
+ List<AttributeExpression> actionMatches =
rule.getTarget().getActionMatches();
+ List<AttributeExpression> subjectMatches =
rule.getTarget().getSubjectMatches();
+ TargetType ruleTarget = new TargetType();
+
+ if(actionMatches != null && !actionMatches.isEmpty())
+ {
+ ruleTarget.setActions(this.generateRuleActions(actionMatches));
+ }
+
+ if(subjectMatches != null && !subjectMatches.isEmpty())
+ {
+ ruleTarget.setSubjects(this.generateRuleSubjects(subjectMatches));
+ }
+
+ ruleType.setTarget(ruleTarget);
+ }
+
+ //Process the Rule Expression/Condition
+ ConditionType condition = this.generateCondition(objectFactory,
rule.getExpression());
+ ruleType.setCondition(condition);
+
+
policyType.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().add(ruleType);
+ }
+ }
+
+ bos = new ByteArrayOutputStream();
+ PolicyUtil.marshall(bos, policyType);
+ xacmlXml = new String(bos.toByteArray());
+
+ return xacmlXml;
+ }
+ catch(Exception e)
+ {
+ throw new PolicyException(e);
+ }
+ finally
+ {
+ if(bos != null)
+ {
+ try{bos.close();}catch(IOException ioe){}
+ }
+ }
+ }
+
+ private ActionsType generateRuleActions(List<AttributeExpression>
actionMatches)
+ {
+ ActionsType actions = new ActionsType();
+
+ for(AttributeExpression action: actionMatches)
+ {
+ ActionType actionType = new ActionType();
+ ActionMatchType amct = new ActionMatchType();
+ amct.setMatchId(action.getFunctionId());
+
amct.setAttributeValue(PolicyAttributeFactory.createStringAttributeType(action.getAttribute().getValue()));
+
amct.setActionAttributeDesignator(AttributeDesignatorUtil.getAttributeDesignator(action.getAttribute()));
+ actionType.getActionMatch().add(amct);
+ actions.getAction().add(actionType);
+ }
+
+ return actions;
+ }
+
+ private SubjectsType generateRuleSubjects(List<AttributeExpression>
subjectMatches)
+ {
+ SubjectsType subjects = new SubjectsType();
+
+ for(AttributeExpression subject: subjectMatches)
+ {
+ SubjectType subjectType = new SubjectType();
+ SubjectMatchType match = new SubjectMatchType();
+ match.setMatchId(subject.getFunctionId());
+
match.setAttributeValue(PolicyAttributeFactory.createStringAttributeType(subject.getAttribute().getValue()));
+
match.setSubjectAttributeDesignator((SubjectAttributeDesignatorType)AttributeDesignatorUtil.getAttributeDesignator(subject.getAttribute()));
+ subjectType.getSubjectMatch().add(match);
+ subjects.getSubject().add(subjectType);
+ }
+
+ return subjects;
+ }
+
+ /**
+ *
+ * @param expression
+ * @return
+ */
+ private ConditionType generateCondition(ObjectFactory objectFactory, Expression
expression)
+ {
+ ConditionType condition = new ConditionType();
+
+ if(expression instanceof AttributeExpression)
+ {
+ AttributeExpression attributeExpression = (AttributeExpression)expression;
+
+ //Function to be applied
+ ApplyType apply = new ApplyType();
+ apply.setFunctionId(attributeExpression.getFunctionId());
+
+ //Value to check against
+ AttributeValueType attrValue =
PolicyAttributeFactory.createStringAttributeType(attributeExpression.getAttribute().getValue());
+ JAXBElement<AttributeValueType> jaxbAttrValue =
objectFactory.createAttributeValue(attrValue);
+ apply.getExpression().add(jaxbAttrValue);
+
+ //Place within the Context where this Value should exist during an Authorization
Request
+
apply.getExpression().add(AttributeDesignatorUtil.getAttributeDesignatorXml(attributeExpression.getAttribute()));
+
+
+ condition.setExpression(objectFactory.createApply(apply));
+ }
+ else if(expression instanceof DroolsRuleExpression)
+ {
+ DroolsRuleExpression ruleExpression = (DroolsRuleExpression)expression;
+
+ //Function to be applied
+ ApplyType apply = new ApplyType();
+ apply.setFunctionId(ruleExpression.getFunctionId());
+
+
+ VariableReferenceType ruleReference = new VariableReferenceType();
+ ruleReference.setVariableId(ruleExpression.getRuleReference());
+ JAXBElement<VariableReferenceType> jaxbRuleReference =
objectFactory.createVariableReference(ruleReference);
+ apply.getExpression().add(jaxbRuleReference);
+
+
+ condition.setExpression(objectFactory.createApply(apply));
+ }
+
+ return condition;
+ }
+
+ private String generateUniqueId()
+ {
+ return UUID.randomUUID().toString();
+ }
+}
Added:
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/NoPermitMeansDeniedAlg.java
===================================================================
---
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/NoPermitMeansDeniedAlg.java
(rev 0)
+++
modules/authorization/trunk/core-components/src/test/java/org/jboss/security/authz/test/NoPermitMeansDeniedAlg.java 2009-01-28
07:02:58 UTC (rev 12682)
@@ -0,0 +1,83 @@
+/******************************************************************************
+ * 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.test;
+
+import java.util.List;
+import java.util.Iterator;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.jboss.security.xacml.sunxacml.combine.RuleCombiningAlgorithm;
+import org.jboss.security.xacml.sunxacml.EvaluationCtx;
+import org.jboss.security.xacml.sunxacml.ctx.Result;
+import org.jboss.security.xacml.sunxacml.Rule;
+import org.jboss.security.xacml.sunxacml.combine.RuleCombinerElement;
+
+/**
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ *
+ */
+public class NoPermitMeansDeniedAlg extends RuleCombiningAlgorithm
+{
+ /**
+ *
+ * @throws URISyntaxException
+ */
+ public NoPermitMeansDeniedAlg() throws URISyntaxException
+ {
+ super(new URI("rule-combining-alg:nopermit-means-denied"));
+ }
+
+ /**
+ *
+ * @param context
+ * @param rules
+ * @return
+ */
+ public Result combine(EvaluationCtx context, List parameters, List ruleElements)
+ {
+ Result result = new Result(Result.DECISION_PERMIT);
+
+ Iterator rules = ruleElements.iterator();
+ boolean permitFound = false;
+ while(rules.hasNext())
+ {
+ RuleCombinerElement ruleCombinerElement = (RuleCombinerElement)rules.next();
+ Rule rule = ruleCombinerElement.getRule();
+ Result currentResult = rule.evaluate(context);
+
+ if(currentResult.getDecision() == Result.DECISION_PERMIT)
+ {
+ permitFound = true;
+ break;
+ }
+ }
+
+ if(!permitFound)
+ {
+ result = new Result(Result.DECISION_DENY);
+ }
+
+ return result;
+ }
+}
Added: modules/authorization/trunk/core-components/src/test/resources/log4j.properties
===================================================================
--- modules/authorization/trunk/core-components/src/test/resources/log4j.properties
(rev 0)
+++
modules/authorization/trunk/core-components/src/test/resources/log4j.properties 2009-01-28
07:02:58 UTC (rev 12682)
@@ -0,0 +1,8 @@
+# Set root category priority to INFO and its only appender to CONSOLE.
+log4j.rootCategory=INFO, CONSOLE
+
+# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.Threshold=INFO
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
Copied:
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/components/TestHttpResource.java
(from rev 12681,
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/pap/TestHttpResource.java)
===================================================================
---
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/components/TestHttpResource.java
(rev 0)
+++
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/components/TestHttpResource.java 2009-01-28
07:02:58 UTC (rev 12682)
@@ -0,0 +1,114 @@
+/*
+* 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.http.components;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+
+import org.jboss.security.authz.http.components.HttpResource;
+import org.jboss.security.authz.model.Target;
+import org.jboss.security.authz.model.Policy;
+import org.jboss.security.authz.model.Rule;
+import org.jboss.security.authz.pap.policy.HierarchialPolicy;
+
+
+/**
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ */
+public class TestHttpResource extends TestCase
+{
+ private static Logger log = Logger.getLogger(TestHttpResource.class);
+
+ public void testGetURLTargetNoParameters() throws Exception
+ {
+ HttpResource httpResource = new HttpResource();
+ httpResource.setUrl("/portal/admin-tool/modifyLayout");
+
+ Target target = httpResource.getURLTarget(false);
+
+ Policy policy = new HierarchialPolicy("testGetURLTargetNoParameters", target,
new HashSet<Rule>());
+
+ log.info("------------------------------------------------------------------");
+ log.info(policy.generateXACMLPolicy());
+ }
+
+ public void testGetURLTargetWithParameters() throws Exception
+ {
+ HttpResource httpResource = new HttpResource();
+ httpResource.setUrl("/portal/admin-tool/modifyLayout");
+ httpResource.addParameter("test1", "test1://value");
+ httpResource.addParameter("test2", "test2://value");
+
+ Target target = httpResource.getURLTarget(true);
+
+ Policy policy = new HierarchialPolicy("testGetURLTargetWithParameters",
target, new HashSet<Rule>());
+
+ log.info("------------------------------------------------------------------");
+ log.info(policy.generateXACMLPolicy());
+ }
+
+ public void testRoleRules() throws Exception
+ {
+ HttpResource httpResource = new HttpResource();
+ httpResource.setUrl("/portal/admin-tool/modifyLayout");
+ httpResource.addParameter("test1", "test1://value");
+ httpResource.addParameter("test2", "test2://value");
+ httpResource.addAllowedRole("admin");
+ httpResource.addDeniedRole("anonymous");
+
+ Target target = httpResource.getURLTarget(true);
+ Set<Rule> rules = new HashSet<Rule>();
+ rules.add(httpResource.getPermittedRolesRule());
+ rules.add(httpResource.getDeniedRolesRule());
+
+ Policy policy = new HierarchialPolicy("testRoleRules", target, rules);
+
+ log.info("------------------------------------------------------------------");
+ log.info(policy.generateXACMLPolicy());
+ }
+
+ public void testIPRules() throws Exception
+ {
+ HttpResource httpResource = new HttpResource();
+ httpResource.setUrl("/portal/admin-tool/modifyLayout");
+ httpResource.addParameter("test1", "test1://value");
+ httpResource.addParameter("test2", "test2://value");
+ httpResource.addAllowedRole("admin");
+ httpResource.addDeniedRole("anonymous");
+ httpResource.addAllowedIp("192.168.x.x");
+
+ Target target = httpResource.getURLTarget(true);
+ Set<Rule> rules = new HashSet<Rule>();
+ rules.add(httpResource.getPermittedRolesRule());
+ rules.add(httpResource.getDeniedRolesRule());
+ rules.add(httpResource.getAllowedIpsRule());
+
+ Policy policy = new HierarchialPolicy("testIPRules", target, rules);
+
+ log.info("------------------------------------------------------------------");
+ log.info(policy.generateXACMLPolicy());
+ }
+}
Property changes on:
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/components/TestHttpResource.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted:
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/pap/TestHttpResource.java
===================================================================
---
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/pap/TestHttpResource.java 2009-01-28
06:09:13 UTC (rev 12681)
+++
modules/authorization/trunk/http-authz/src/test/java/org/jboss/security/authz/http/pap/TestHttpResource.java 2009-01-28
07:02:58 UTC (rev 12682)
@@ -1,110 +0,0 @@
-/*
-* 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.http.pap;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.apache.log4j.Logger;
-
-import org.jboss.security.authz.http.components.HttpResource;
-import org.jboss.security.authz.model.Target;
-import org.jboss.security.authz.model.Policy;
-import org.jboss.security.authz.model.Rule;
-import org.jboss.security.authz.pap.policy.HierarchialPolicy;
-
-
-/**
- * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
- */
-public class TestHttpResource extends TestCase
-{
- private static Logger log = Logger.getLogger(TestHttpResource.class);
-
- public void testGetURLTargetNoParameters() throws Exception
- {
- HttpResource httpResource = new
HttpResource("/portal/admin-tool/modifyLayout");
-
- Target target = httpResource.getURLTarget(false);
-
- Policy policy = new HierarchialPolicy("testGetURLTargetNoParameters", target,
new HashSet<Rule>());
-
- log.info("------------------------------------------------------------------");
- log.info(policy.generateXACMLPolicy());
- }
-
- public void testGetURLTargetWithParameters() throws Exception
- {
- HttpResource httpResource = new
HttpResource("/portal/admin-tool/modifyLayout");
- httpResource.addParameter("test1", "test1://value");
- httpResource.addParameter("test2", "test2://value");
-
- Target target = httpResource.getURLTarget(true);
-
- Policy policy = new HierarchialPolicy("testGetURLTargetWithParameters",
target, new HashSet<Rule>());
-
- log.info("------------------------------------------------------------------");
- log.info(policy.generateXACMLPolicy());
- }
-
- public void testRoleRules() throws Exception
- {
- HttpResource httpResource = new
HttpResource("/portal/admin-tool/modifyLayout");
- httpResource.addParameter("test1", "test1://value");
- httpResource.addParameter("test2", "test2://value");
- httpResource.addAllowedRole("admin");
- httpResource.addDeniedRole("anonymous");
-
- Target target = httpResource.getURLTarget(true);
- Set<Rule> rules = new HashSet<Rule>();
- rules.add(httpResource.getPermittedRolesRule());
- rules.add(httpResource.getDeniedRolesRule());
-
- Policy policy = new HierarchialPolicy("testRoleRules", target, rules);
-
- log.info("------------------------------------------------------------------");
- log.info(policy.generateXACMLPolicy());
- }
-
- public void testIPRules() throws Exception
- {
- HttpResource httpResource = new
HttpResource("/portal/admin-tool/modifyLayout");
- httpResource.addParameter("test1", "test1://value");
- httpResource.addParameter("test2", "test2://value");
- httpResource.addAllowedRole("admin");
- httpResource.addDeniedRole("anonymous");
- httpResource.addAllowedIp("192.168.x.x");
-
- Target target = httpResource.getURLTarget(true);
- Set<Rule> rules = new HashSet<Rule>();
- rules.add(httpResource.getPermittedRolesRule());
- rules.add(httpResource.getDeniedRolesRule());
- rules.add(httpResource.getAllowedIpsRule());
-
- Policy policy = new HierarchialPolicy("testIPRules", target, rules);
-
- log.info("------------------------------------------------------------------");
- log.info(policy.generateXACMLPolicy());
- }
-}
Modified: modules/authorization/trunk/pom.xml
===================================================================
--- modules/authorization/trunk/pom.xml 2009-01-28 06:09:13 UTC (rev 12681)
+++ modules/authorization/trunk/pom.xml 2009-01-28 07:02:58 UTC (rev 12682)
@@ -10,10 +10,11 @@
<description>JBoss Authorization</description>
<modules>
- <module>common</module>
+ <module>common</module>
+ <module>core-components</module>
<module>PEP</module>
<module>PAP</module>
- <module>http-authz</module>
+ <module>http-authz</module>
<!--
<module>security-console</module>
-->