Author: angela
Date: Fri Jul 4 13:23:28 2014
New Revision: 1607849
URL: http://svn.apache.org/r1607849
Log:
OAK-1951 : UserContext doesn't reflect new group-member structure
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java?rev=1607849&r1=1607848&r2=1607849&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserContext.java
Fri Jul 4 13:23:28 2014
@@ -40,13 +40,16 @@ final class UserContext implements Conte
//------------------------------------------------------------< Context
>---
@Override
public boolean definesProperty(Tree parent, PropertyState property) {
+ String propName = property.getName();
String ntName = TreeUtil.getPrimaryTypeName(parent);
if (NT_REP_USER.equals(ntName)) {
- return USER_PROPERTY_NAMES.contains(property.getName());
+ return USER_PROPERTY_NAMES.contains(propName);
} else if (NT_REP_GROUP.equals(ntName)) {
- return GROUP_PROPERTY_NAMES.contains(property.getName());
+ return GROUP_PROPERTY_NAMES.contains(propName);
} else if (NT_REP_PASSWORD.equals(ntName)) {
- return PWD_PROPERTY_NAMES.contains(property.getName());
+ return PWD_PROPERTY_NAMES.contains(propName);
+ } else if (NT_REP_MEMBER_REFERENCES.equals(ntName)) {
+ return REP_MEMBERS.equals(propName);
} else if (NT_REP_MEMBERS.equals(ntName)) {
return true;
}
@@ -61,10 +64,7 @@ final class UserContext implements Conte
@Override
public boolean definesTree(Tree tree) {
String ntName = TreeUtil.getPrimaryTypeName(tree);
- return NT_REP_GROUP.equals(ntName)
- || NT_REP_USER.equals(ntName)
- || NT_REP_MEMBERS.equals(ntName)
- || NT_REP_PASSWORD.equalsIgnoreCase(ntName);
+ return NT_NAMES.contains(ntName);
}
@Override
@@ -79,6 +79,7 @@ final class UserContext implements Conte
if (USER_PROPERTY_NAMES.contains(name)
|| GROUP_PROPERTY_NAMES.contains(name)
|| path.contains(REP_MEMBERS)
+ || path.contains(REP_MEMBERS_LIST)
|| path.contains(REP_PWD)) {
return true;
} else {
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java?rev=1607849&r1=1607848&r2=1607849&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java
Fri Jul 4 13:23:28 2014
@@ -30,8 +30,8 @@ public interface UserConstants {
String NT_REP_AUTHORIZABLE = "rep:Authorizable";
String NT_REP_AUTHORIZABLE_FOLDER = "rep:AuthorizableFolder";
String NT_REP_USER = "rep:User";
- String NT_REP_PASSWORD = "rep:Password";
String NT_REP_GROUP = "rep:Group";
+ String NT_REP_PASSWORD = "rep:Password";
@Deprecated
String NT_REP_MEMBERS = "rep:Members";
String NT_REP_MEMBER_REFERENCES_LIST = "rep:MemberReferencesList";
@@ -67,6 +67,10 @@ public interface UserConstants {
REP_PASSWORD_LAST_MODIFIED
);
+ Collection<String> NT_NAMES = ImmutableSet.of(
+ NT_REP_USER, NT_REP_GROUP, NT_REP_PASSWORD,
+ NT_REP_MEMBERS, NT_REP_MEMBER_REFERENCES,
NT_REP_MEMBER_REFERENCES_LIST);
+
/**
* Configuration option defining the ID of the administrator user.
*/