SLING-7886 AuthorizablePrivilegesInfo returns incorrect information for
non-admin user who has been granted sufficient privileges to do
User/Group Management activites 

SLING-7887 The CreateUserServlet should allow non-admin users to create
a user if sufficient privileges have been granted
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/AuthorizablePrivilegesInfoImpl.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/AuthorizablePrivilegesInfoImpl.java
index 86d7430..c82208a 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/AuthorizablePrivilegesInfoImpl.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/AuthorizablePrivilegesInfoImpl.java
@@ -41,6 +41,7 @@
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.Reference;
 import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -96,7 +97,7 @@
     private String groupsPath;
     private boolean selfRegistrationEnabled;
     
-    @Reference(cardinality=ReferenceCardinality.OPTIONAL)
+    @Reference(cardinality=ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC)
     private void bindUserConfiguration(UserConfiguration userConfig, Map<String, Object> properties) {
     	usersPath = (String)properties.get(UserConstants.PARAM_USER_PATH);
     	groupsPath = (String)properties.get(UserConstants.PARAM_GROUP_PATH);
@@ -107,7 +108,7 @@
     	groupsPath = null;
     }
 
-    @Reference(cardinality=ReferenceCardinality.OPTIONAL)
+    @Reference(cardinality=ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC)
     private void bindCreateUser(CreateUser createUser, Map<String, Object> properties) {
     	selfRegistrationEnabled = Boolean.TRUE.equals(properties.get("self.registration.enabled"));
     }
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateUserServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateUserServlet.java
index da80ed5..8b5ab29 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateUserServlet.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateUserServlet.java
@@ -138,7 +138,7 @@
 
     private String usersPath;
     
-    @Reference(cardinality=ReferenceCardinality.OPTIONAL)
+    @Reference(cardinality=ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC)
     private void bindUserConfiguration(UserConfiguration userConfig, Map<String, Object> properties) {
     	usersPath = (String)properties.get(UserConstants.PARAM_USER_PATH);
     }