Author: reto
Date: Sat Jun 19 12:24:08 2010
New Revision: 956219
URL: http://svn.apache.org/viewvc?rev=956219&view=rev
Log:
CLEREZZA-242: SecurityActivator with no required dependecy takes care of
setting a restricitive police when UserAwarePolicy is not available
Added:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java
- copied, changed from r956129,
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java
Removed:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java
Copied:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java
(from r956129,
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java)
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java?p2=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java&p1=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java&r1=956129&r2=956219&rev=956219&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java
Sat Jun 19 12:24:08 2010
@@ -63,10 +63,11 @@ import org.apache.clerezza.rdf.core.MGra
*/
@Component
-public class PermissionManager implements BundleListener {
+public class BundlePermissionManager implements BundleListener {
- final Logger logger = LoggerFactory.getLogger(PermissionManager.class);
+ final Logger logger =
LoggerFactory.getLogger(BundlePermissionManager.class);
+
@Reference
private ConditionalPermissionAdmin cpa;
private static final String ALL_EXCEPT_USER_BUNDLES_CPINAME =
"allExceptUserBundles";
@@ -83,7 +84,7 @@ public class PermissionManager implement
}
private PermissionDefinitions permissionDefinitions;
- private Policy originalPolicy;
+
/**
*
@@ -128,21 +129,13 @@ public class PermissionManager implement
updateFromSystemGraph(bundleLocation);
}
}
- setUserAwarePolicy();
}
- private void setUserAwarePolicy() {
- logger.debug("Set user aware policy");
- //keep the original policy for resetting it at deactivation()
- originalPolicy = Policy.getPolicy();
- Policy.setPolicy(new UserAwarePolicy(systemGraph));
- }
protected void deactivate(final ComponentContext cCtx) throws Exception
{
logger.debug("Permission manager being deactivated");
cCtx.getBundleContext().removeBundleListener(this);
- Policy.setPolicy(originalPolicy);
}
/**
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java?rev=956219&r1=956218&r2=956219&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java
Sat Jun 19 12:24:08 2010
@@ -34,6 +34,7 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import org.apache.clerezza.platform.config.SystemConfig;
import org.osgi.service.permissionadmin.PermissionInfo;
@@ -50,14 +51,23 @@ import org.apache.clerezza.rdf.ontologie
import org.apache.clerezza.rdf.ontologies.PLATFORM;
import org.apache.clerezza.rdf.ontologies.RDF;
import org.apache.clerezza.rdf.ontologies.SIOC;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
/**
*
* @author mir
*/
+...@component
+...@service(UserAwarePolicy.class)
public class UserAwarePolicy extends Policy {
final Logger logger = LoggerFactory.getLogger(UserAwarePolicy.class);
+
+ @Reference(target=SystemConfig.SYSTEM_GRAPH_FILTER)
+ private MGraph systemGraph;
+
/**
* Stores the mapping between a String describing the permission and the
* described <code>Permission</code> object.
@@ -69,12 +79,9 @@ public class UserAwarePolicy extends Pol
*/
private UserPermissionsCache cache = new UserPermissionsCache();
- private MGraph systemGraph;
-
private Policy originalPolicy;
- public UserAwarePolicy(MGraph systemGraph) {
- this.systemGraph = systemGraph;
+ public UserAwarePolicy() {
this.originalPolicy = Policy.getPolicy();
}
@@ -182,7 +189,7 @@ public class UserAwarePolicy extends Pol
* are his/her own permissions and the permissions of his roles
*
*/
- List<String> getAllPermissionsOfAUserByName(String userName)
+ private List<String> getAllPermissionsOfAUserByName(String userName)
throws UserUnregisteredException {
NonLiteral user = getUserByName(userName);