Author: angela
Date: Wed Sep 11 15:04:33 2013
New Revision: 1521893
URL: http://svn.apache.org/r1521893
Log:
OAK-754 : Pluggable Security Setup (wip)
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java?rev=1521893&r1=1521892&r2=1521893&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java
Wed Sep 11 15:04:33 2013
@@ -24,6 +24,8 @@ import javax.annotation.Nonnull;
import javax.jcr.security.AccessControlManager;
import com.google.common.collect.ImmutableList;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
import org.apache.jackrabbit.oak.plugins.version.VersionablePathHook;
@@ -40,8 +42,10 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
import org.apache.jackrabbit.oak.spi.security.ConfigurationBase;
import org.apache.jackrabbit.oak.spi.security.Context;
+import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
import
org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration;
+import
org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AccessControlConstants;
import
org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider;
import
org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider;
import org.apache.jackrabbit.oak.spi.xml.ProtectedItemImporter;
@@ -49,8 +53,14 @@ import org.apache.jackrabbit.oak.spi.xml
/**
* Default implementation of the {@code AccessControlConfiguration}.
*/
+@Component()
+@Service({AuthorizationConfiguration.class, SecurityConfiguration.class})
public class AuthorizationConfigurationImpl extends ConfigurationBase
implements AuthorizationConfiguration {
+ public AuthorizationConfigurationImpl() {
+ super();
+ }
+
public AuthorizationConfigurationImpl(SecurityProvider securityProvider) {
super(securityProvider);
}
@@ -104,7 +114,12 @@ public class AuthorizationConfigurationI
@Nonnull
@Override
public RestrictionProvider getRestrictionProvider() {
- return new RestrictionProviderImpl();
+ RestrictionProvider restrictionProvider =
getParameters().getConfigValue(AccessControlConstants.PARAM_RESTRICTION_PROVIDER,
null, RestrictionProvider.class);
+ if (restrictionProvider == null) {
+ // default
+ restrictionProvider = new RestrictionProviderImpl();
+ }
+ return restrictionProvider;
}
@Nonnull