Author: stillalex
Date: Tue Mar 20 11:31:56 2018
New Revision: 1827296
URL: http://svn.apache.org/viewvc?rev=1827296&view=rev
Log:
OAK-7024 java.security.acl deprecated in Java 10, marked for removal in Java 11
- reintroduced Group implementation for backwards compatibility reasons
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java?rev=1827296&r1=1827295&r2=1827296&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
Tue Mar 20 11:31:56 2018
@@ -272,7 +272,7 @@ class ExternalGroupPrincipalProvider imp
* identities that are <strong>not</strong> represented as authorizable
group
* in the repository's user management.
*/
- private final class ExternalGroupPrincipal extends PrincipalImpl
implements GroupPrincipal {
+ private final class ExternalGroupPrincipal extends PrincipalImpl
implements GroupPrincipal, java.security.acl.Group {
private ExternalGroupPrincipal(String principalName) {
super(principalName);
@@ -280,6 +280,24 @@ class ExternalGroupPrincipalProvider imp
}
@Override
+ public boolean addMember(Principal user) {
+ if (isMember(user)) {
+ return false;
+ } else {
+ throw new UnsupportedOperationException("Adding members to
external group principals is not supported.");
+ }
+ }
+
+ @Override
+ public boolean removeMember(Principal user) {
+ if (!isMember(user)) {
+ return false;
+ } else {
+ throw new UnsupportedOperationException("Removing members from
external group principals is not supported.");
+ }
+ }
+
+ @Override
public boolean isMember(Principal member) {
if (GroupPrincipals.isGroup(member)) {
return false;
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java?rev=1827296&r1=1827295&r2=1827296&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java
Tue Mar 20 11:31:56 2018
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
/**
* Base class for {@code Group} principals.
*/
-abstract class AbstractGroupPrincipal extends TreeBasedPrincipal implements
GroupPrincipal {
+abstract class AbstractGroupPrincipal extends TreeBasedPrincipal implements
GroupPrincipal, java.security.acl.Group {
private static final Logger log =
LoggerFactory.getLogger(AbstractGroupPrincipal.class);
@@ -112,4 +112,13 @@ abstract class AbstractGroupPrincipal ex
return Iterators.asEnumeration(Iterators.filter(principals,
Predicates.<Object>notNull()));
}
+ @Override
+ public boolean addMember(Principal principal) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean removeMember(Principal principal) {
+ throw new UnsupportedOperationException();
+ }
}