Author: sohil.shah(a)jboss.com
Date: 2009-05-16 16:54:29 -0400 (Sat, 16 May 2009)
New Revision: 13383
Added:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/LocalEnforcementPoint.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/LocalPolicyProvisioner.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/PolicyProvisioner.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/ProvisioningException.java
Removed:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/enforcement/
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/LocalEnforcementPointImpl.java
Modified:
modules/authorization/trunk/http-profile/src/main/java/org/jboss/security/authz/http/enforcement/SecurityFilter.java
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestParameterMatching.java
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestRoles.java
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestURLPattern.java
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/provisioning/TestHttpPolicyConfig.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/EnforcementException.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/PolicyEnforcementPoint.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/Request.java
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/Response.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/decision/PolicyDecisionPoint.java
modules/authorization/trunk/policy-server/src/main/resources/META-INF/jboss-beans.xml
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestHierarchialPropagation.java
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestImpliedActions.java
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestImpliesHierarchialPropagation.java
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/plugin/TestEnterprisePolicyFinderModule.java
Log:
introducing the client layer to the policy server
Modified:
modules/authorization/trunk/http-profile/src/main/java/org/jboss/security/authz/http/enforcement/SecurityFilter.java
===================================================================
---
modules/authorization/trunk/http-profile/src/main/java/org/jboss/security/authz/http/enforcement/SecurityFilter.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/http-profile/src/main/java/org/jboss/security/authz/http/enforcement/SecurityFilter.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -49,12 +49,12 @@
import org.jboss.security.authz.model.Policy;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.Server;
import org.jboss.security.authz.policy.server.PolicyServer;
import org.jboss.security.authz.policy.server.spi.PolicyConfig;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
import org.jboss.security.authz.components.resource.HttpResource;
import org.jboss.security.authz.components.subject.Roles;
import org.jboss.security.authz.components.action.http.Get;
Modified:
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestParameterMatching.java
===================================================================
---
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestParameterMatching.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestParameterMatching.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -27,10 +27,10 @@
import org.jboss.security.authz.components.action.Read;
import org.jboss.security.authz.components.resource.HttpResource;
import org.jboss.security.authz.components.subject.Roles;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
import org.jboss.security.authz.model.Policy;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServer;
import org.jboss.security.authz.policy.server.Server;
Modified:
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestRoles.java
===================================================================
---
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestRoles.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestRoles.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -27,10 +27,10 @@
import org.jboss.security.authz.components.action.Read;
import org.jboss.security.authz.components.resource.HttpResource;
import org.jboss.security.authz.components.subject.Roles;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
import org.jboss.security.authz.model.Policy;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServer;
import org.jboss.security.authz.policy.server.Server;
Modified:
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestURLPattern.java
===================================================================
---
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestURLPattern.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/components/TestURLPattern.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -28,12 +28,12 @@
import org.jboss.security.authz.components.action.Read;
import org.jboss.security.authz.components.resource.HttpResource;
import org.jboss.security.authz.components.subject.Roles;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
import org.jboss.security.authz.model.Policy;
import org.jboss.security.authz.model.PolicyMetaData;
import org.jboss.security.authz.model.Resource;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServer;
import org.jboss.security.authz.policy.server.Server;
Modified:
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/provisioning/TestHttpPolicyConfig.java
===================================================================
---
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/provisioning/TestHttpPolicyConfig.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/http-profile/src/test/java/org/jboss/security/authz/http/provisioning/TestHttpPolicyConfig.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -33,11 +33,11 @@
import org.jboss.security.authz.components.action.http.Post;
import org.jboss.security.authz.components.resource.HttpResource;
import org.jboss.security.authz.components.subject.Roles;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
import org.jboss.security.authz.http.configuration.HttpPolicyConfig;
import org.jboss.security.authz.model.Policy;
import org.jboss.security.authz.tools.GeneralTool;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServer;
import org.jboss.security.authz.policy.server.Server;
import org.jboss.security.authz.policy.server.spi.PolicyConfig;
Copied:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement
(from rev 13381,
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/enforcement)
Modified:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/EnforcementException.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/enforcement/EnforcementException.java 2009-05-16
19:32:18 UTC (rev 13381)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/EnforcementException.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -20,7 +20,7 @@
* 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.enforcement;
+package org.jboss.security.authz.policy.client.enforcement;
/**
* @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
Copied:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/LocalEnforcementPoint.java
(from rev 13381,
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/enforcement/LocalEnforcementPointImpl.java)
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/LocalEnforcementPoint.java
(rev 0)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/LocalEnforcementPoint.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -0,0 +1,77 @@
+/*
+* 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.policy.client.enforcement;
+
+import org.apache.log4j.Logger;
+
+import org.jboss.security.authz.policy.server.PolicyServer;
+import org.jboss.security.authz.policy.server.PolicyServerException;
+
+/**
+ * This Enforcement point integrates with the Policy Server inside the same VM. This
provides the fastest enforcement option
+ *
+ *
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ */
+public class LocalEnforcementPoint implements PolicyEnforcementPoint
+{
+ private static Logger log = Logger.getLogger(LocalEnforcementPoint.class);
+
+ private PolicyServer policyServer;
+
+ public LocalEnforcementPoint()
+ {
+
+ }
+
+ public void start()
+ {
+ }
+
+ public void stop()
+ {
+ }
+
+ public PolicyServer getPolicyServer()
+ {
+ return policyServer;
+ }
+
+ public void setPolicyServer(PolicyServer policyServer)
+ {
+ this.policyServer = policyServer;
+ }
+ //------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ public Response checkAccess(Request request) throws EnforcementException
+ {
+ try
+ {
+
+ return this.policyServer.evaluate(request);
+ }
+ catch(PolicyServerException pe)
+ {
+ log.error(this, pe);
+ throw new EnforcementException(pe);
+ }
+ }
+}
Deleted:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/LocalEnforcementPointImpl.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/enforcement/LocalEnforcementPointImpl.java 2009-05-16
19:32:18 UTC (rev 13381)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/LocalEnforcementPointImpl.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -1,81 +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.enforcement;
-
-import org.apache.log4j.Logger;
-
-import org.jboss.security.authz.policy.server.Server;
-import org.jboss.security.authz.policy.server.PolicyServer;
-import org.jboss.security.authz.policy.server.PolicyServerException;
-
-/**
- * This component typically integrates natively with the application layer to receive
Authorization Requests
- * It then processes the native request and routes it to the Policy Decision Point
component of the Policy Server to get a decision whether the
- * Authorization should be granted or not or to do something else
- *
- * Sometimes, this component can just be a native stub that routes all requests over the
network to the Policy Server,
- * and sometimes this component can be co-located with the Policy Server
- *
- *
- * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
- */
-public class LocalEnforcementPointImpl implements PolicyEnforcementPoint
-{
- private static Logger log = Logger.getLogger(LocalEnforcementPointImpl.class);
-
- private PolicyServer policyServer;
-
- public LocalEnforcementPointImpl()
- {
-
- }
-
- public void start()
- {
- //Lookup the Policy Server
- this.policyServer =
(PolicyServer)Server.lookup("/policy-server/PolicyServer");
-
- if(this.policyServer == null)
- {
- throw new RuntimeException("Policy Server is unavailable...");
- }
- }
-
- public void stop()
- {
- this.policyServer = null;
- }
- //------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- public Response checkAccess(Request request) throws EnforcementException
- {
- try
- {
-
- return this.policyServer.evaluate(request);
- }
- catch(PolicyServerException pe)
- {
- log.error(this, pe);
- throw new EnforcementException(pe);
- }
- }
-}
Modified:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/PolicyEnforcementPoint.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/enforcement/PolicyEnforcementPoint.java 2009-05-16
19:32:18 UTC (rev 13381)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/PolicyEnforcementPoint.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -19,7 +19,7 @@
* 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.enforcement;
+package org.jboss.security.authz.policy.client.enforcement;
/**
* This component typically integrates natively with the application layer to receive
Authorization Requests
Modified:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/Request.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/enforcement/Request.java 2009-05-16
19:32:18 UTC (rev 13381)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/Request.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -19,7 +19,7 @@
* 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.enforcement;
+package org.jboss.security.authz.policy.client.enforcement;
import java.io.Serializable;
import java.util.Set;
Modified:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/Response.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/enforcement/Response.java 2009-05-16
19:32:18 UTC (rev 13381)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/enforcement/Response.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -19,7 +19,7 @@
* 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.enforcement;
+package org.jboss.security.authz.policy.client.enforcement;
import java.io.Serializable;
Added:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/LocalPolicyProvisioner.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/LocalPolicyProvisioner.java
(rev 0)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/LocalPolicyProvisioner.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -0,0 +1,117 @@
+/*
+* 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.policy.client.provisioning;
+
+import org.apache.log4j.Logger;
+
+import org.jboss.security.authz.model.Policy;
+import org.jboss.security.authz.model.PolicyMetaData;
+import org.jboss.security.authz.policy.server.PolicyServer;
+import org.jboss.security.authz.policy.server.PolicyServerException;
+
+/**
+ * This Policy Provisioner integrates with the Policy Server in the same VM. This
provides fastest provisioning option
+ *
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ */
+public class LocalPolicyProvisioner implements PolicyProvisioner
+{
+ private static Logger log = Logger.getLogger(LocalPolicyProvisioner.class);
+
+ private PolicyServer policyServer;
+
+ public LocalPolicyProvisioner()
+ {
+ }
+
+ public void start()
+ {
+
+ }
+
+ public void stop()
+ {
+
+ }
+
+ public PolicyServer getPolicyServer()
+ {
+ return policyServer;
+ }
+
+ public void setPolicyServer(PolicyServer policyServer)
+ {
+ this.policyServer = policyServer;
+ }
+ //--------PolicyProvisioner
implementation-----------------------------------------------------------------------------------------------------------------------------------------------------------
+ public void newPolicy(PolicyMetaData policyMetaData) throws ProvisioningException
+ {
+ try
+ {
+ this.policyServer.newPolicy(policyMetaData);
+ }
+ catch(PolicyServerException pe)
+ {
+ log.error(this, pe);
+ throw new ProvisioningException(pe);
+ }
+ }
+
+ public Policy[] readAllPolicies() throws ProvisioningException
+ {
+ try
+ {
+ return this.policyServer.readAllPolicies();
+ }
+ catch(PolicyServerException pe)
+ {
+ log.error(this, pe);
+ throw new ProvisioningException(pe);
+ }
+ }
+
+ public Policy readPolicy(String policyUri) throws ProvisioningException
+ {
+ try
+ {
+ return this.policyServer.readPolicy(policyUri);
+ }
+ catch(PolicyServerException pe)
+ {
+ log.error(this, pe);
+ throw new ProvisioningException(pe);
+ }
+ }
+
+ public void deletePolicy(String policyUri) throws ProvisioningException
+ {
+ try
+ {
+ this.policyServer.deletePolicy(policyUri);
+ }
+ catch(PolicyServerException pe)
+ {
+ log.error(this, pe);
+ throw new ProvisioningException(pe);
+ }
+ }
+}
Added:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/PolicyProvisioner.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/PolicyProvisioner.java
(rev 0)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/PolicyProvisioner.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -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.policy.client.provisioning;
+
+import org.jboss.security.authz.model.Policy;
+import org.jboss.security.authz.model.PolicyMetaData;
+
+/**
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ */
+public interface PolicyProvisioner
+{
+ /**
+ * Generates a new Policy instance based on the supplied MetaData and stores it into the
Policy Store
+ *
+ * @param policyMetaData meta data for the policy to be created
+ */
+ public void newPolicy(PolicyMetaData policyMetaData) throws ProvisioningException;
+
+ /**
+ * Read a stored Policy identified by the unique policyUri
+ *
+ * @param policyUri
+ * @return a stored Policy
+ */
+ public Policy readPolicy(String policyUri) throws ProvisioningException;
+
+ /**
+ * Returns all the stored Policies for the system
+ *
+ * @return all the stored Policies
+ */
+ public Policy[] readAllPolicies() throws ProvisioningException;
+
+ /**
+ * Deletes the specified Policy from storage
+ *
+ * @param policyUri unique identifier for the Policy
+ */
+ public void deletePolicy(String policyUri) throws ProvisioningException;
+}
Added:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/ProvisioningException.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/ProvisioningException.java
(rev 0)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/client/provisioning/ProvisioningException.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * 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.policy.client.provisioning;
+
+/**
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ *
+ */
+public class ProvisioningException extends Exception
+{
+ public ProvisioningException()
+ {
+ super();
+ }
+
+ public ProvisioningException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public ProvisioningException(String message)
+ {
+ super(message);
+ }
+
+ public ProvisioningException(Throwable cause)
+ {
+ super(cause);
+ }
+}
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-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/PolicyServer.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -31,14 +31,14 @@
import org.jboss.security.authz.model.PolicyException;
import org.jboss.security.authz.model.Rule;
import org.jboss.security.authz.tools.GeneralTool;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.decision.PolicyDecisionPoint;
import org.jboss.security.authz.policy.server.spi.PolicyStore;
import org.jboss.security.authz.policy.server.plugin.XACMLPolicy;
import org.jboss.security.authz.policy.server.plugin.EnterprisePolicyFinderModule;
import org.jboss.security.authz.policy.server.plugin.DroolsRuleManager;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
import org.jboss.security.xacml.sunxacml.finder.PolicyFinderModule;
Modified:
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/decision/PolicyDecisionPoint.java
===================================================================
---
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/decision/PolicyDecisionPoint.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/policy-server/src/main/java/org/jboss/security/authz/policy/server/decision/PolicyDecisionPoint.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -31,8 +31,8 @@
import org.apache.log4j.Logger;
import org.jboss.security.authz.tools.GeneralTool;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServerException;
import org.jboss.security.authz.model.Resource;
import org.jboss.security.authz.model.Attribute;
Modified:
modules/authorization/trunk/policy-server/src/main/resources/META-INF/jboss-beans.xml
===================================================================
---
modules/authorization/trunk/policy-server/src/main/resources/META-INF/jboss-beans.xml 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/policy-server/src/main/resources/META-INF/jboss-beans.xml 2009-05-16
20:54:29 UTC (rev 13383)
@@ -25,5 +25,19 @@
</bean>
<bean name="/policy-server/DroolsRuleManager"
class="org.jboss.security.authz.policy.server.plugin.DroolsRuleManager">
- </bean>
+ </bean>
+
+ <!-- Local Policy Enforcement client -->
+ <bean name="/enforcement/localEnforcementPoint"
class="org.jboss.security.authz.policy.client.LocalEnforcementPoint">
+ <property name="policyServer">
+ <inject bean="/policy-server/PolicyServer"/>
+ </property>
+ </bean>
+
+ <!-- Local Policy Provisioning client -->
+ <bean name="/provisioning/localProvisioner"
class="org.jboss.security.authz.policy.client.provisioning.LocalPolicyProvisioner">
+ <property name="policyServer">
+ <inject bean="/policy-server/PolicyServer"/>
+ </property>
+ </bean>
</deployment>
\ No newline at end of file
Modified:
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestHierarchialPropagation.java
===================================================================
---
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestHierarchialPropagation.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestHierarchialPropagation.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -37,8 +37,8 @@
import org.jboss.security.authz.components.action.Write;
import org.jboss.security.authz.components.action.Manage;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServer;
/**
Modified:
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestImpliedActions.java
===================================================================
---
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestImpliedActions.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestImpliedActions.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -37,8 +37,8 @@
import org.jboss.security.authz.components.action.Write;
import org.jboss.security.authz.components.action.Manage;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServer;
/**
Modified:
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestImpliesHierarchialPropagation.java
===================================================================
---
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestImpliesHierarchialPropagation.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/TestImpliesHierarchialPropagation.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -36,8 +36,8 @@
import org.jboss.security.authz.components.action.Write;
import org.jboss.security.authz.components.action.Manage;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServer;
/**
Modified:
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/plugin/TestEnterprisePolicyFinderModule.java
===================================================================
---
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/plugin/TestEnterprisePolicyFinderModule.java 2009-05-16
20:49:29 UTC (rev 13382)
+++
modules/authorization/trunk/policy-server/src/test/java/org/jboss/security/authz/policy/server/plugin/TestEnterprisePolicyFinderModule.java 2009-05-16
20:54:29 UTC (rev 13383)
@@ -34,8 +34,8 @@
import org.jboss.security.authz.components.subject.Roles;
import org.jboss.security.authz.components.action.Read;
-import org.jboss.security.authz.enforcement.Request;
-import org.jboss.security.authz.enforcement.Response;
+import org.jboss.security.authz.policy.client.enforcement.Request;
+import org.jboss.security.authz.policy.client.enforcement.Response;
import org.jboss.security.authz.policy.server.PolicyServer;
import org.jboss.security.authz.policy.server.Server;