You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/10/18 23:21:46 UTC
[sling-org-apache-sling-resourceaccesssecurity-it] branch master
created (now c510d3a)
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git.
at c510d3a SLING-7167 Adjust READMEs
This branch includes the following new commits:
new da12c80 SLING-3435 - ResourceAccessSecurity does not secure access for update operations
new ffca327 SLING-3435 - ResourceAccessSecurity does not secure access for update operations, addition
new bf5fceb SLING-3458 - Restrictions imposed by ProviderResourceAccessSecurity should not be discarded by ApplicationResourceAccessSecurity, SLING-3462 - Make ResourceAccessSecurity provider context and application context behave the same way
new 8528a33 Use latest snapshot
new 9e2d592 Use released Sling API 2.7.0
new eb9748a Update to parent pom v19
new e989da1 Update .gitignore files
new 8baa6eb Clean up usage of SCR annotations
new 71e4ae2 Updated to parent version 20
new bff32f8 SLING-3919 - Update versions for integration tests
new ac2f202 SLING-3930 - Service rankings from ResourceAccessGates are not properly handled
new 7279cc9 Update to Sling Parent POM 22 with baselining enabled
new 5a6ab8f Use released version of the launchpad in ITs
new 254c192 Correct snapshot versions for ras tests
new 02b65ad Add missing licence headers and excludes for rat
new 8ded38c SLING-4698 - Set parent.relativePath to empty for all modules
new dabe9c2 Update to Sling Parent 23
new a37ba55 SLING-4828 - Tests failing if "test.server.url" is not null but blank
new 95f3a21 set parent version to 24 and add empty relativePath where missing
new dce5072 Update the main reactor to parent 25
new 46de19f Switch to parent pom 26
new a22ed57 update to release version 1.0.12 of org.apache.sling.testing.tools
new 82f449a Remove a dependency on commons.json that is not needed anymore.
new c510d3a SLING-7167 Adjust READMEs
The 24 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
--
To stop receiving notification emails like this one, please contact
['"commits@sling.apache.org" <co...@sling.apache.org>'].
[sling-org-apache-sling-resourceaccesssecurity-it] 05/24: Use
released Sling API 2.7.0
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 9e2d59298ad623545d53ca70293ab76acf399dae
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Mar 24 13:17:39 2014 +0000
Use released Sling API 2.7.0
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1580834 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index c1262ba..5d28aea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -326,7 +326,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
- <version>2.7.1-SNAPSHOT</version>
+ <version>2.7.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 08/24: Clean up
usage of SCR annotations
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 8baa6eb2275a53be011358564ed91c357fbb922b
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jul 29 12:48:12 2014 +0000
Clean up usage of SCR annotations
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1614328 13f79535-47bb-0310-9956-ffa450edef68
---
.../resourceaccesssecurity/it/impl/gates/ApplicationGate1.java | 4 ++--
.../resourceaccesssecurity/it/impl/gates/ApplicationGate2.java | 4 ++--
.../it/impl/gates/ApplicationGateDefault.java | 4 ++--
.../resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java | 4 ++--
.../resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java | 4 ++--
.../resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java | 6 +++---
.../resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java | 6 +++---
.../sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java | 4 ++--
.../sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java | 4 ++--
9 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
index 766875f..c90a332 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
@@ -35,8 +35,8 @@ import java.util.Map;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
})
public class ApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
index 899e585..b428565 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
@@ -35,8 +35,8 @@ import java.util.Map;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
})
public class ApplicationGate2 extends AResourceAccessGate implements ResourceAccessGate {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
index 51fdd83..6f7be62 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
@@ -36,8 +36,8 @@ import java.util.Map;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="^((?!(/test/secured-provider/read|/test/unsecured-provider/read)).*|/test/(un|)secured-provider/read(-update|)/prov/.*)",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.OPERATIONS, value="", propertyPrivate=true),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.OPERATIONS, value=""),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
})
public class ApplicationGateDefault extends AllowingResourceAccessGate implements ResourceAccessGate {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
index c31eba2..81e2616 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
@@ -35,8 +35,8 @@ import java.util.Map;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
})
public class FinalApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
index 05f6646..caf41ac 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
@@ -35,8 +35,8 @@ import java.util.Map;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT)
})
public class FinalApplicationGate2 extends AResourceAccessGate implements ResourceAccessGate {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
index 34f1b28..00785aa 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
@@ -36,9 +36,9 @@ import java.util.Map;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
- @Property(name = Constants.SERVICE_RANKING, intValue = 10, propertyPrivate = false),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+ @Property(name = Constants.SERVICE_RANKING, intValue = 10),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT)
})
public class FinalProviderGate1 extends AResourceAccessGate implements ResourceAccessGate {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
index d6653a7..156efb1 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
@@ -36,9 +36,9 @@ import java.util.Map;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
- @Property(name = Constants.SERVICE_RANKING, intValue = 5, propertyPrivate = false),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+ @Property(name = Constants.SERVICE_RANKING, intValue = 5),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT)
})
public class FinalProviderGate2 extends AResourceAccessGate implements ResourceAccessGate {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
index 10e2a13..3befff6 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
@@ -29,8 +29,8 @@ import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT)
})
public class ProviderGate1 extends AResourceAccessGate implements ResourceAccessGate {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
index a397bd2..9e9dae5 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
@@ -35,8 +35,8 @@ import java.util.Map;
@Properties({
@Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
- @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT)
})
public class ProviderGate2 extends AResourceAccessGate implements ResourceAccessGate {
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 21/24: Switch to
parent pom 26
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 46de19f813ce46473e1962c0d115751446efd383
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sun Jan 3 14:07:46 2016 +0000
Switch to parent pom 26
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1722720 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 2c0fd38..f394dde 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>25</version>
+ <version>26</version>
<relativePath/>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 04/24: Use
latest snapshot
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 8528a333e9e0c99e8c15926401ed36abc79848d5
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Mar 19 23:57:19 2014 +0000
Use latest snapshot
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1579469 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index ed5a5cc..c1262ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -326,7 +326,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
- <version>2.6.1-SNAPSHOT</version>
+ <version>2.7.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 13/24: Use
released version of the launchpad in ITs
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 5a6ab8f5c83ad4b0b9031ef0f0f7f58de1efb5ed
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Mon Nov 3 21:23:07 2014 +0000
Use released version of the launchpad in ITs
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1636447 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 18bce5d..dab8dc5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -295,7 +295,7 @@
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.launchpad</artifactId>
<classifier>standalone</classifier>
- <version>7-SNAPSHOT</version>
+ <version>7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 07/24: Update
.gitignore files
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit e989da1aa640451c5d8e170d0a1a095147d27415
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Fri May 2 09:38:33 2014 +0000
Update .gitignore files
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1591844 13f79535-47bb-0310-9956-ffa450edef68
---
.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2bc7989
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/sling
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 22/24: update to
release version 1.0.12 of org.apache.sling.testing.tools
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit a22ed5783765462a81d13718e6c884887830f37b
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Mon Feb 1 21:13:26 2016 +0000
update to release version 1.0.12 of org.apache.sling.testing.tools
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1728007 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index f394dde..01b8192 100644
--- a/pom.xml
+++ b/pom.xml
@@ -277,7 +277,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.tools</artifactId>
- <version>1.0.11-SNAPSHOT</version>
+ <version>1.0.12</version>
<scope>provided</scope>
</dependency>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 16/24:
SLING-4698 - Set parent.relativePath to empty for all modules
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 8ded38c4550d61897f9b1e20013f4e50b90b1847
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Thu May 7 10:14:40 2015 +0000
SLING-4698 - Set parent.relativePath to empty for all modules
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1678154 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index a349428..5a39d45 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
<version>22</version>
- <relativePath>../../../parent/pom.xml</relativePath>
+ <relativePath/>
</parent>
<artifactId>org.apache.sling.resourceaccesssecurity.it</artifactId>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 18/24:
SLING-4828 - Tests failing if "test.server.url" is not null but blank
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit a37ba55a69798a59cb2db3122c79144de0d16fbf
Author: Julian Sedding <js...@apache.org>
AuthorDate: Fri Jun 26 16:49:17 2015 +0000
SLING-4828 - Tests failing if "test.server.url" is not null but blank
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1687810 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 41bba20..a88f830 100644
--- a/pom.xml
+++ b/pom.xml
@@ -277,7 +277,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.tools</artifactId>
- <version>1.0.8</version>
+ <version>1.0.11-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 20/24: Update
the main reactor to parent 25
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit dce50723e6cf127b482514c0806623df58a9b01d
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Mon Oct 5 10:03:45 2015 +0000
Update the main reactor to parent 25
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1706780 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 8a9b3a7..2c0fd38 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>24</version>
+ <version>25</version>
<relativePath/>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 14/24: Correct
snapshot versions for ras tests
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 254c192b346f3ec06b61076ff1ec3b557988f3cd
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Fri Apr 10 11:50:20 2015 +0000
Correct snapshot versions for ras tests
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1672618 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index dab8dc5..ab17b49 100644
--- a/pom.xml
+++ b/pom.xml
@@ -267,7 +267,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.tools</artifactId>
- <version>1.0.7-SNAPSHOT</version>
+ <version>1.0.8</version>
<scope>provided</scope>
</dependency>
@@ -351,7 +351,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.resourceaccesssecurity</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>1.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 12/24: Update to
Sling Parent POM 22 with baselining enabled
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 7279cc9d0a1a1eb8992407e30432fcfa6e0fcb17
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Oct 1 06:57:44 2014 +0000
Update to Sling Parent POM 22 with baselining enabled
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1628622 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 9ef608b..18bce5d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>20</version>
+ <version>22</version>
<relativePath>../../../parent/pom.xml</relativePath>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 15/24: Add
missing licence headers and excludes for rat
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 02b65adea85ec158e59cc3592cfc3189032b3e40
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Apr 27 15:13:49 2015 +0000
Add missing licence headers and excludes for rat
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1676295 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 10 ++++++++++
.../it/impl/gates/ApplicationGate1Ranking100.java | 16 ++++++++++++++++
.../it/impl/gates/ApplicationGate1Ranking1000.java | 16 ++++++++++++++++
.../it/impl/gates/FinalAppGate1Ranking100.java | 16 ++++++++++++++++
.../it/impl/gates/FinalAppGate1Ranking1000.java | 16 ++++++++++++++++
.../unsecured/UnsecuredReadAndUpdateProvider.java | 16 ++++++++++++++++
.../impl/providers/unsecured/UnsecuredReadProvider.java | 16 ++++++++++++++++
7 files changed, 106 insertions(+)
diff --git a/pom.xml b/pom.xml
index ab17b49..a349428 100644
--- a/pom.xml
+++ b/pom.xml
@@ -119,6 +119,16 @@
</instructions>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>sling/**</exclude>
+ <exclude>derby.log</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
index f3648a1..1468557 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.sling.resourceaccesssecurity.it.impl.gates;
import org.apache.felix.scr.annotations.Component;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
index 0989f95..0f5303d 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.sling.resourceaccesssecurity.it.impl.gates;
import org.apache.felix.scr.annotations.Component;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
index ae7f5d2..9a18787 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.sling.resourceaccesssecurity.it.impl.gates;
import org.apache.felix.scr.annotations.Component;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
index 670cec9..7a3638c 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.sling.resourceaccesssecurity.it.impl.gates;
import org.apache.felix.scr.annotations.Component;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
index e477f47..63c1c67 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.sling.resourceaccesssecurity.it.impl.providers.unsecured;
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
index 579f85d..fd50ccc 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.sling.resourceaccesssecurity.it.impl.providers.unsecured;
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 01/24:
SLING-3435 - ResourceAccessSecurity does not secure access for update
operations
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit da12c80697986ebc4a0f5daf607177b3867e8515
Author: Mike Müller <my...@apache.org>
AuthorDate: Sun Mar 16 19:17:41 2014 +0000
SLING-3435 - ResourceAccessSecurity does not secure access for update operations
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1578141 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 359 +++++++++++++++++++++
.../sling/resourceaccesssecurity/it/impl/Init.java | 68 ++++
.../it/impl/gates/AResourceAccessGate.java | 89 +++++
.../it/impl/gates/ApplicationGate1.java | 50 +++
.../it/impl/gates/ApplicationGate2.java | 50 +++
.../it/impl/gates/FinalApplicationGate1.java | 50 +++
.../it/impl/gates/FinalApplicationGate2.java | 50 +++
.../it/impl/gates/FinalProviderGate1.java | 52 +++
.../it/impl/gates/FinalProviderGate2.java | 52 +++
.../it/impl/gates/ProviderGate1.java | 44 +++
.../it/impl/gates/ProviderGate2.java | 50 +++
.../SimpleModifiableResourceProvider.java | 72 +++++
.../it/impl/providers/SimpleResourceProvider.java | 67 ++++
.../SecuredReadAndUpdateResourceProvider.java | 47 +++
.../secured/SecuredReadResourceProvider.java | 37 +++
.../unsecured/UnsecuredReadAndUpdateProvider.java | 19 ++
.../providers/unsecured/UnsecuredReadProvider.java | 18 ++
.../it/ResourceAccessSecurityTestBase.java | 98 ++++++
.../SecuredProviderResourceAccessSecurityTest.java | 110 +++++++
...nsecuredProviderResourceAccessSecurityTest.java | 47 +++
20 files changed, 1429 insertions(+)
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..df72294
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>sling</artifactId>
+ <version>18</version>
+ <relativePath>../../../parent/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>org.apache.sling.resourceaccesssecurity.it</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+
+ <name>Apache Resource Access Security Integration Tests</name>
+ <description>
+ Project hat tests functionality for org.apache.sling.resourceaccesssecurity and org.apache.sling.jcr.resourcesecurity bundles.
+ </description>
+
+ <!--
+ To keep the instance under test running and run individual tests
+ against it, use:
+
+ mvn clean verify -DkeepJarRunning=true -Dhttp.port=8080
+
+ optionally using jar.executor.vm.options to enable remote debugging,
+ and in another console:
+
+ mvn -o verify -Dtests.to.run=**/**Test.java -Dtest.server.url=http://localhost:8080
+
+ optionally using -Dmaven.surefire.debug to enable debugging.
+ -->
+ <properties>
+ <!-- Set this to run the server on a specific port
+ <http.port></http.port>
+ -->
+
+ <!-- Set this to run tests against an existing server instance -->
+ <keepJarRunning>false</keepJarRunning>
+
+ <!-- URL of a server against which to run tests -->
+ <!-- <test.server.url>http://localhost:8080</test.server.url> -->
+ <test.server.url />
+
+ <!-- Set this to run tests against a specific hostname, if test.server.url is not set-->
+ <test.server.hostname />
+
+ <!-- Set this to use a different username for remote execution of sling junit tests -->
+ <test.server.username />
+
+ <!-- Set this to use a different password for remote execution of sling junit tests -->
+ <test.server.password />
+
+ <!-- Options for the VM that executes our runnable jar -->
+ <!--<jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE</jar.executor.vm.options> -->
+ <jar.executor.vm.options>-Xmx512m</jar.executor.vm.options>
+
+ <!-- Change this to use longer or shorter timeouts for testing -->
+ <sling.testing.timeout.multiplier>1.0</sling.testing.timeout.multiplier>
+
+ <!-- Set this to run the executable jar in a specified filesystem folder -->
+ <jar.executor.work.folder />
+
+ <!-- Options for the jar to execute. $JAREXEC_SERVER_PORT$ is replaced by the
+ selected port number -->
+ <jar.executor.jar.options>-p $JAREXEC_SERVER_PORT$</jar.executor.jar.options>
+
+ <!-- Change this to run selected tests only -->
+ <tests.to.run>**/**Test.java</tests.to.run>
+ </properties>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests</connection>
+ <developerConnection> scm:svn:https://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests</developerConnection>
+ <url>http://svn.apache.org/viewvc/sling/trunk/testing/samples/integration-tests</url>
+ </scm>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>maven-sling-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>org.apache.sling.resourceaccesssecurity.it</Bundle-SymbolicName>
+ <Sling-Initial-Content>SLING-CONTENT/content/test;path:=/content/test;overwrite:=true,
+ SLING-CONTENT/libs/test;path:=/libs/test;overwrite:=true</Sling-Initial-Content>
+ <Export-Package>
+ org.apache.sling.resourceaccesssecurity.it
+ </Export-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>${basedir}</directory>
+ <includes>
+ <!-- sling folder is the workdir of the executable jar that we test -->
+ <include>sling/**</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-runnable-jar</id>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <includeArtifactIds>org.apache.sling.launchpad</includeArtifactIds>
+ <excludeTransitive>true</excludeTransitive>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>false</overWriteSnapshots>
+ </configuration>
+ </execution>
+ <execution>
+ <!--
+ Consider all dependencies as candidates to be installed
+ as additional bundles. We use system properties to define
+ which bundles to install in which order.
+ -->
+ <id>copy-additional-bundles</id>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <outputDirectory>${project.build.directory}/sling/additional-bundles</outputDirectory>
+ <excludeTransitive>true</excludeTransitive>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>false</overWriteSnapshots>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Find free ports to run our server -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>reserve-server-port</id>
+ <goals>
+ <goal>reserve-network-port</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <portNames>
+ <portName>http.port</portName>
+ </portNames>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- We run all tests in the integration-tests phase -->
+ <excludes>
+ <exclude>**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>integration-test</id>
+ <goals>
+ <goal>integration-test</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>verify</id>
+ <goals>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <debugForkedProcess>${maven.surefire.debug}</debugForkedProcess>
+ <includes>
+ <include>${tests.to.run}</include>
+ </includes>
+ <systemPropertyVariables>
+ <test.server.url>${test.server.url}</test.server.url>
+ <test.server.hostname>${test.server.hostname}</test.server.hostname>
+ <test.server.username>${test.server.username}</test.server.username>
+ <test.server.password>${test.server.password}</test.server.password>
+ <server.ready.timeout.seconds>300</server.ready.timeout.seconds>
+ <jar.executor.server.port>${http.port}</jar.executor.server.port>
+ <jar.executor.vm.options>${jar.executor.vm.options}</jar.executor.vm.options>
+ <jar.executor.jar.folder>${project.basedir}/target/dependency</jar.executor.jar.folder>
+ <jar.executor.jar.name.regexp>org.apache.sling.launchpad.*jar$</jar.executor.jar.name.regexp>
+ <jar.executor.work.folder>${jar.executor.work.folder}</jar.executor.work.folder>
+ <jar.executor.jar.options>${jar.executor.jar.options}</jar.executor.jar.options>
+ <additional.bundles.path>${project.build.directory},${project.build.directory}/sling/additional-bundles</additional.bundles.path>
+ <keepJarRunning>${keepJarRunning}</keepJarRunning>
+ <sling.testing.timeout.multiplier>${sling.testing.timeout.multiplier}</sling.testing.timeout.multiplier>
+ <server.ready.path.1>/:script src="system/sling.js"</server.ready.path.1>
+ <server.ready.path.2>/.explorer.html:href="/libs/sling/explorer/css/explorer.css"</server.ready.path.2>
+ <server.ready.path.3>/sling-test/sling/sling-test.html:Sling client library tests</server.ready.path.3>
+ <start.bundles.timeout.seconds>30</start.bundles.timeout.seconds>
+ <bundle.install.timeout.seconds>20</bundle.install.timeout.seconds>
+
+ <!--
+ Define additional bundles to install by specifying the beginning of their artifact name.
+ The bundles are installed in lexical order of these property names.
+ All bundles must be listed as dependencies in this pom, or they won't be installed.
+ -->
+
+ <sling.additional.bundle.5>org.apache.sling.resourceaccesssecurity-</sling.additional.bundle.5>
+ <sling.additional.bundle.6>org.apache.sling.jcr.resourcesecurity-</sling.additional.bundle.6>
+ <sling.additional.bundle.7>${project.build.finalName}.jar</sling.additional.bundle.7>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <!-- Additional bundles needed by the Sling instance under test -->
+
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.testing.tools</artifactId>
+ <version>1.0.7-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- sling testing tools bundles requires httpclient -->
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient-osgi</artifactId>
+ <version>4.1.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore-osgi</artifactId>
+ <version>4.1.2</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- actual dependencies -->
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.json</artifactId>
+ <version>2.0.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.launchpad</artifactId>
+ <classifier>standalone</classifier>
+ <version>7-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.11</version>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.11</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.api</artifactId>
+ <version>2.6.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-api</artifactId>
+ <version>2.7.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-commons</artifactId>
+ <version>2.7.2</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.jcr</groupId>
+ <artifactId>jcr</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.resourceaccesssecurity</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+</project>
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
new file mode 100644
index 0000000..e8a40b3
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl;
+
+import java.security.Principal;
+
+import javax.jcr.Session;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.jackrabbit.api.JackrabbitSession;
+import org.apache.jackrabbit.api.security.user.UserManager;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
+
+@Component(metatype = false)
+public class Init extends SlingAllMethodsServlet {
+
+
+ @Reference
+ ResourceResolverFactory resourceResolverFactory;
+
+ @Activate
+ protected void activate() {
+
+
+ try {
+ ResourceResolver resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
+
+ Session session = resourceResolver.adaptTo(Session.class);
+
+ JackrabbitSession jackrabbitSession = (JackrabbitSession) session;
+
+ UserManager userManager = jackrabbitSession.getUserManager();
+
+
+ if (userManager.getAuthorizable("testUser") == null) {
+ userManager.createUser("testUser", "password");
+ }
+
+
+ final Principal testUserPrincipal = new Principal() {
+ public String getName() {
+ return "testUser";
+ }};
+
+ } catch (Exception e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ }
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
new file mode 100644
index 0000000..075e9fb
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate.GateResult;
+
+import java.util.Map;
+
+public abstract class AResourceAccessGate extends AllowingResourceAccessGate implements ResourceAccessGate {
+
+
+ @Activate
+ protected void activate(final Map<String, Object> props) {
+ }
+
+ /**
+ * gets the gate id which will be used to distinguish the different implementations
+ * of the gate
+ * @return
+ */
+ protected abstract String getGateId ();
+
+ @Override
+ public GateResult canRead(Resource resource) {
+ GateResult returnValue = GateResult.DONTCARE;
+
+ if ( resource.getPath().contains( getGateId() + "-denyread") )
+ {
+ returnValue = GateResult.DENIED;
+ }
+ else if ( resource.getPath().contains( getGateId() + "-allowread") )
+ {
+ returnValue = GateResult.GRANTED;
+ }
+
+ return returnValue;
+ }
+
+ @Override
+ public boolean hasReadRestrictions(ResourceResolver resourceResolver) {
+ return true;
+ }
+
+ @Override
+ public GateResult canUpdate(Resource resource) {
+ GateResult returnValue = GateResult.DONTCARE;
+
+ if ( resource.getPath().contains( getGateId() + "-denyupdate") )
+ {
+ returnValue = GateResult.DENIED;
+ }
+ else if ( resource.getPath().contains( getGateId() + "-allowupdate") )
+ {
+ returnValue = GateResult.GRANTED;
+ }
+
+ return returnValue;
+ }
+
+ @Override
+ public boolean hasUpdateRestrictions(ResourceResolver resourceResolver) {
+ return true;
+ }
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
new file mode 100644
index 0000000..dc5982f
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+})
+public class ApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
+
+ public static String GATE_ID = "appgate1";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
new file mode 100644
index 0000000..d927be0
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+})
+public class ApplicationGate2 extends AResourceAccessGate implements ResourceAccessGate {
+
+ public static String GATE_ID = "appgate2";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
new file mode 100644
index 0000000..47b4c97
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+})
+public class FinalApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
+
+ public static String GATE_ID = "finalappgate1";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
new file mode 100644
index 0000000..7a95703
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
+})
+public class FinalApplicationGate2 extends AResourceAccessGate implements ResourceAccessGate {
+
+ public static String GATE_ID = "finalappgate2";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
new file mode 100644
index 0000000..445a706
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name = Constants.SERVICE_RANKING, intValue = 10, propertyPrivate = false),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+})
+public class FinalProviderGate1 extends AResourceAccessGate implements ResourceAccessGate {
+
+ public static String GATE_ID = "finalprovidergate1";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
new file mode 100644
index 0000000..ff86ff9
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name = Constants.SERVICE_RANKING, intValue = 5, propertyPrivate = false),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+})
+public class FinalProviderGate2 extends AResourceAccessGate implements ResourceAccessGate {
+
+ public static String GATE_ID = "finalprovidergate2";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
new file mode 100644
index 0000000..7b6d773
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+})
+public class ProviderGate1 extends AResourceAccessGate implements ResourceAccessGate {
+
+ public static String GATE_ID = "providergate1";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
new file mode 100644
index 0000000..8dda05d
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+
+import java.util.Map;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
+})
+public class ProviderGate2 extends AResourceAccessGate implements ResourceAccessGate {
+
+ public static String GATE_ID = "providergate2";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleModifiableResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleModifiableResourceProvider.java
new file mode 100644
index 0000000..5b6cdb6
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleModifiableResourceProvider.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.providers;
+
+import org.apache.sling.api.resource.ModifiableValueMap;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceWrapper;
+import org.apache.sling.api.resource.ValueMap;
+import org.apache.sling.api.wrappers.ModifiableValueMapDecorator;
+import org.apache.sling.api.wrappers.ValueMapDecorator;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class SimpleModifiableResourceProvider extends SimpleResourceProvider {
+ static Map<String, Object> properties = new ConcurrentHashMap<String, Object>();
+
+ static {
+ properties.put("initialProperty", "initialValue");
+ }
+
+
+ @Override
+ public Resource getResource(ResourceResolver resourceResolver, String path) {
+ Resource resource = super.getResource(resourceResolver, path);
+
+ if (resource != null) {
+ resource = new ModifiableResource(resource);
+ }
+
+ return resource;
+ }
+
+
+ public class ModifiableResource extends ResourceWrapper {
+ /**
+ * Creates a new wrapper instance delegating all method calls to the given
+ * <code>resource</code>.
+ */
+ public ModifiableResource(Resource resource) {
+ super(resource);
+ }
+
+ @Override
+ public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+ if (type.equals(ModifiableValueMap.class)) {
+ return (AdapterType) new ModifiableValueMapDecorator(properties);
+ }
+ else if (type.equals(Map.class) || type.equals(ValueMap.class)) {
+ return (AdapterType) new ValueMapDecorator(properties);
+ }
+
+ return super.adaptTo(type); //To change body of overridden methods use File | Settings | File Templates.
+ }
+ }
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleResourceProvider.java
new file mode 100644
index 0000000..a81c898
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/SimpleResourceProvider.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.providers;
+
+
+import org.apache.sling.api.adapter.AdapterManager;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.SyntheticResource;
+
+import javax.servlet.http.HttpServletRequest;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class SimpleResourceProvider {
+ public Resource getResource(ResourceResolver resourceResolver, HttpServletRequest httpServletRequest, String path) {
+ return getResource(resourceResolver, path);
+ }
+
+ public Resource getResource(ResourceResolver resourceResolver, String path) {
+ if (path.contains("/nonexisting/")) {
+ return null;
+ }
+ return new SyntheticResource(resourceResolver, path, "test/resource"){
+ @SuppressWarnings("unchecked")
+ public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+ AdapterType result = super.adaptTo(type);
+
+ if ( result == null && type == InputStream.class )
+ {
+ try {
+ result = (AdapterType) new ByteArrayInputStream("Test".getBytes("UTF-8") );
+ } catch (UnsupportedEncodingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ return result;
+ }
+
+ };
+ }
+
+ public Iterator<Resource> listChildren(Resource resource) {
+ return null;
+ }
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
new file mode 100644
index 0000000..9a75601
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.providers.secured;
+
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ModifiableValueMap;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceWrapper;
+import org.apache.sling.api.wrappers.ModifiableValueMapDecorator;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleModifiableResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceProvider;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+@Component(metatype = true, label = "Secured ResourceProvider")
+@Service(value = ResourceProvider.class)
+@Properties({
+ @Property(name = ResourceProvider.ROOTS, value = "/providers/secured/read-update" ),
+ @Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true, propertyPrivate=true),
+ @Property(name = ResourceProvider.OWNS_ROOTS, boolValue=true, propertyPrivate=true)
+})
+public class SecuredReadAndUpdateResourceProvider extends SimpleModifiableResourceProvider implements ResourceProvider {
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
new file mode 100644
index 0000000..a6dcddd
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it.impl.providers.secured;
+
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceProvider;
+
+@Component(metatype = true, label = "Secured ResourceProvider")
+@Service(value = ResourceProvider.class)
+@Properties({
+ @Property(name = ResourceProvider.ROOTS, value = "/providers/secured/read" ),
+ @Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true, propertyPrivate=true),
+ @Property(name = ResourceProvider.OWNS_ROOTS, boolValue=true, propertyPrivate=true)
+})
+public class SecuredReadResourceProvider extends SimpleResourceProvider implements ResourceProvider {
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
new file mode 100644
index 0000000..a34ef8c
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
@@ -0,0 +1,19 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.providers.unsecured;
+
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleModifiableResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceProvider;
+
+@Component(metatype = true, label = "Unsecured ResourceProvider")
+@Service(value = ResourceProvider.class)
+@Properties({
+ @Property(name = ResourceProvider.ROOTS, value = "/providers/unsecured/read-update" )
+
+})
+public class UnsecuredReadAndUpdateProvider extends SimpleModifiableResourceProvider implements ResourceProvider {
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
new file mode 100644
index 0000000..7ee83c2
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
@@ -0,0 +1,18 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.providers.unsecured;
+
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceProvider;
+
+@Component(metatype = true, label = "Unsecured ResourceProvider")
+@Service(value = ResourceProvider.class)
+@Properties({
+ @Property(name = ResourceProvider.ROOTS, value = "/providers/unsecured/read" )
+
+})
+public class UnsecuredReadProvider extends SimpleResourceProvider implements ResourceProvider {
+}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/ResourceAccessSecurityTestBase.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/ResourceAccessSecurityTestBase.java
new file mode 100644
index 0000000..fb6c35e
--- /dev/null
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/ResourceAccessSecurityTestBase.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it;
+
+
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.sling.testing.tools.sling.SlingTestBase;
+import org.junit.Before;
+import org.junit.BeforeClass;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+public class ResourceAccessSecurityTestBase extends SlingTestBase {
+
+ public static final String TEST_USERNAME = "testUser";
+ public static final String TEST_PASSWORD = "password";
+
+
+ protected String getTestUsername() {
+ return TEST_USERNAME;
+ }
+
+ protected String getTestPassword() {
+ return TEST_PASSWORD;
+ }
+
+
+ protected void testRead(String username, String password,
+ String path, int expectedStatus,
+ String... expectedContent) throws Exception {
+ if ( username == null )
+ {
+ // call without credentials
+ getRequestExecutor().execute(
+ getRequestBuilder().buildGetRequest(path)
+ ).assertStatus(expectedStatus).assertContentContains(expectedContent);
+ }
+ else
+ {
+ // call with credentials
+ getRequestExecutor().execute(
+ getRequestBuilder().buildGetRequest(path)
+ .withCredentials(username, password)
+ ).assertStatus(expectedStatus).assertContentContains(expectedContent);
+
+ }
+ }
+
+ protected String testUpdate(String username, String password,
+ String path, int expectedStatus,
+ String... expectedContent) throws Exception {
+ String addedValue = "addedValue" + UUID.randomUUID().toString();
+ List<NameValuePair> params = new ArrayList<NameValuePair>();
+ params.add(new BasicNameValuePair("addedProperty", addedValue));
+
+ if ( username == null )
+ {
+ // call without credentials
+ getRequestExecutor().execute(
+ getRequestBuilder().buildPostRequest(path)
+ .withEntity(new UrlEncodedFormEntity(params))
+ ).assertStatus(expectedStatus).assertContentContains(expectedContent);
+ }
+ else
+ {
+ // call with credentials
+ getRequestExecutor().execute(
+ getRequestBuilder().buildPostRequest(path)
+ .withEntity(new UrlEncodedFormEntity(params))
+ ).assertStatus(expectedStatus).assertContentContains(expectedContent);
+
+ }
+
+ return addedValue;
+ }
+
+}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
new file mode 100644
index 0000000..4029002
--- /dev/null
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
@@ -0,0 +1,110 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it;
+
+
+import org.junit.Test;
+
+public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSecurityTestBase {
+
+ @Test
+ public void testNonExistingResource() throws Exception {
+ String path = "/providers/secured/noresource.json";
+
+ testRead(getServerUsername(), getServerPassword(), path, 404);
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ }
+
+ @Test
+ public void testAllowedReadAccess() throws Exception {
+ String path = "/providers/secured/read/providergate1-allowread_providergate2-denyread/test.json";
+
+ testRead(getServerUsername(), getServerPassword(), path, 200);
+ testRead(getTestUsername(), getTestPassword(), path, 200);
+ testRead(null, null, path, 200);
+ }
+
+ @Test
+ public void testDeniedReadAccessFromNonModifiableProvider() throws Exception {
+ String path = "/providers/secured/read/providergate1-denyread/test.json";
+
+ testRead(getServerUsername(), getServerPassword(), path, 404);
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ testRead(null, null, path, 404);
+ }
+
+ @Test
+ public void testDeniedReadAccessFromModifiableProvider() throws Exception {
+ String path = "/providers/secured/read-update/providergate1-denyread/test.json";
+
+ testRead(getServerUsername(), getServerPassword(), path, 404);
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ }
+
+
+ @Test
+ public void testNotDefinedReadAccess() throws Exception {
+ String path = "/providers/secured/read-update/providergate2-denyupdate/test.json";
+
+ testRead(getServerUsername(), getServerPassword(), path, 404);
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ testRead(null, null, path, 404);
+ }
+
+
+ @Test
+ public void testAllowedReadAndUpdate() throws Exception {
+ String path = "/providers/secured/read-update/providergate2-allowupdate_providergate1-allowread/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 200);
+ testUpdate(getTestUsername(), getTestPassword(), path, 200);
+ }
+
+
+ @Test
+ public void testUpdateAllowedUpdateAllowedRead() throws Exception {
+ String allowPath = "/providers/secured/read-update/providergate1-allowread_providergate1-allowupdate/test.json";
+
+ testUpdate(getTestUsername(), getTestPassword(), allowPath, 200);
+ }
+
+ @Test
+ public void testUpdateAllowedUpdateDeniedRead() throws Exception {
+ String path = "/providers/secured/read-update/providergate2-allowupdate_providergate1-denyread/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
+ }
+
+ @Test
+ public void testUpdateDeniedUpdateDeniedRead() throws Exception {
+ String path = "/providers/secured/read-update/providergate2-denyupdate_providergate1-denyread/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
+ }
+
+ @Test
+ public void testUpdateDeniedUpdateAllowedRead() throws Exception {
+ String path = "/providers/secured/read-update/providergate2-denyupdate_providergate1-allowread_appgate1-denyupdate/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 200);
+ testUpdate(getTestUsername(), getTestPassword(), path, 500, "is not modifiable");
+ }
+
+}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
new file mode 100644
index 0000000..7895dc6
--- /dev/null
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sling.resourceaccesssecurity.it;
+
+
+import org.junit.Test;
+
+public class UnsecuredProviderResourceAccessSecurityTest extends ResourceAccessSecurityTestBase {
+
+ @Test
+ public void testDeniedReadAccess() throws Exception {
+ String path = "/providers/unsecured/read/providergate1-denyread/test.json";
+
+ // can be read anyway
+ testRead(getTestUsername(), getTestPassword(), path, 200);
+
+ }
+
+ @Test
+ public void testReadNonExistingResource() throws Exception {
+ String path = "/providers/unsecured/nonexisting/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ }
+
+ @Test
+ public void testReadFromNonExistingProvider() throws Exception {
+ String path = "/providers/nonexisting/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ }
+}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 24/24:
SLING-7167 Adjust READMEs
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit c510d3a18f8f1bae564fee4be075b7fafe3fbd92
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Tue Oct 3 09:25:57 2017 +0000
SLING-7167 Adjust READMEs
add missing README
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1810717 13f79535-47bb-0310-9956-ffa450edef68
---
README.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f05a789
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# Apache Sling Resource Access Security Integration Tests
+
+This module is part of the [Apache Sling](https://sling.apache.org) project.
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 03/24:
SLING-3458 - Restrictions imposed by ProviderResourceAccessSecurity should
not be discarded by ApplicationResourceAccessSecurity,
SLING-3462 - Make ResourceAccessSecurity provider context and application
context behave the same way
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit bf5fceb164d7e9d7789868891b53028255d3f699
Author: Mike Müller <my...@apache.org>
AuthorDate: Wed Mar 19 12:40:59 2014 +0000
SLING-3458 - Restrictions imposed by ProviderResourceAccessSecurity should not be discarded by ApplicationResourceAccessSecurity,
SLING-3462 - Make ResourceAccessSecurity provider context and application context behave the same way
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1579213 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 9 ++--
.../it/impl/gates/AResourceAccessGate.java | 4 +-
.../it/impl/gates/ApplicationGate1.java | 2 +-
.../it/impl/gates/ApplicationGate2.java | 2 +-
...ationGate1.java => ApplicationGateDefault.java} | 55 +++++++++++++++++++---
.../it/impl/gates/FinalApplicationGate1.java | 2 +-
.../it/impl/gates/FinalApplicationGate2.java | 2 +-
.../it/impl/gates/FinalProviderGate1.java | 2 +-
.../it/impl/gates/FinalProviderGate2.java | 2 +-
.../it/impl/gates/ProviderGate1.java | 2 +-
.../it/impl/gates/ProviderGate2.java | 2 +-
.../SecuredReadAndUpdateResourceProvider.java | 2 +-
.../secured/SecuredReadResourceProvider.java | 2 +-
.../unsecured/UnsecuredReadAndUpdateProvider.java | 2 +-
.../providers/unsecured/UnsecuredReadProvider.java | 2 +-
.../SecuredProviderResourceAccessSecurityTest.java | 53 ++++++++++++++++-----
...nsecuredProviderResourceAccessSecurityTest.java | 6 +--
17 files changed, 111 insertions(+), 40 deletions(-)
diff --git a/pom.xml b/pom.xml
index df72294..ed5a5cc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,9 +31,9 @@
<version>0.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
- <name>Apache Resource Access Security Integration Tests</name>
+ <name>Apache Sling Resource Access Security Integration Tests</name>
<description>
- Project hat tests functionality for org.apache.sling.resourceaccesssecurity and org.apache.sling.jcr.resourcesecurity bundles.
+ Project that tests functionality for org.apache.sling.resourceaccesssecurity bundle.
</description>
<!--
@@ -71,8 +71,8 @@
<test.server.password />
<!-- Options for the VM that executes our runnable jar -->
- <!--<jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE</jar.executor.vm.options> -->
- <jar.executor.vm.options>-Xmx512m</jar.executor.vm.options>
+ <!--<jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE</jar.executor.vm.options> -->
+ <jar.executor.vm.options>-Xmx512m</jar.executor.vm.options>
<!-- Change this to use longer or shorter timeouts for testing -->
<sling.testing.timeout.multiplier>1.0</sling.testing.timeout.multiplier>
@@ -254,7 +254,6 @@
-->
<sling.additional.bundle.5>org.apache.sling.resourceaccesssecurity-</sling.additional.bundle.5>
- <sling.additional.bundle.6>org.apache.sling.jcr.resourcesecurity-</sling.additional.bundle.6>
<sling.additional.bundle.7>${project.build.finalName}.jar</sling.additional.bundle.7>
</systemPropertyVariables>
</configuration>
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
index 075e9fb..01c5ca5 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/AResourceAccessGate.java
@@ -47,7 +47,7 @@ public abstract class AResourceAccessGate extends AllowingResourceAccessGate imp
@Override
public GateResult canRead(Resource resource) {
- GateResult returnValue = GateResult.DONTCARE;
+ GateResult returnValue = GateResult.CANT_DECIDE;
if ( resource.getPath().contains( getGateId() + "-denyread") )
{
@@ -68,7 +68,7 @@ public abstract class AResourceAccessGate extends AllowingResourceAccessGate imp
@Override
public GateResult canUpdate(Resource resource) {
- GateResult returnValue = GateResult.DONTCARE;
+ GateResult returnValue = GateResult.CANT_DECIDE;
if ( resource.getPath().contains( getGateId() + "-denyupdate") )
{
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
index dc5982f..766875f 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1.java
@@ -33,7 +33,7 @@ import java.util.Map;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
@Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
@Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
index d927be0..899e585 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate2.java
@@ -33,7 +33,7 @@ import java.util.Map;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
@Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
@Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
similarity index 51%
copy from src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
copy to src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
index 47b4c97..51fdd83 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGateDefault.java
@@ -27,24 +27,65 @@ import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.resourceaccesssecurity.AllowingResourceAccessGate;
import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate.GateResult;
import java.util.Map;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="^((?!(/test/secured-provider/read|/test/unsecured-provider/read)).*|/test/(un|)secured-provider/read(-update|)/prov/.*)",
description="The path is a regular expression for which resources the service should be called"),
- @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
+ @Property(name=ResourceAccessGate.OPERATIONS, value="", propertyPrivate=true),
@Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
})
-public class FinalApplicationGate1 extends AResourceAccessGate implements ResourceAccessGate {
+public class ApplicationGateDefault extends AllowingResourceAccessGate implements ResourceAccessGate {
- public static String GATE_ID = "finalappgate1";
-
@Override
- protected String getGateId() {
- return GATE_ID;
+ public GateResult canRead(final Resource resource) {
+ return GateResult.GRANTED;
}
+ @Override
+ public GateResult canCreate(final String absPathName,
+ final ResourceResolver resourceResolver) {
+ return GateResult.GRANTED;
+ }
+
+ @Override
+ public GateResult canUpdate(final Resource resource) {
+ return GateResult.GRANTED;
+ }
+
+ @Override
+ public GateResult canDelete(final Resource resource) {
+ return GateResult.GRANTED;
+ }
+
+ @Override
+ public GateResult canExecute(final Resource resource) {
+ return GateResult.GRANTED;
+ }
+
+ @Override
+ public GateResult canReadValue(final Resource resource, final String valueName) {
+ return GateResult.GRANTED;
+ }
+
+ @Override
+ public GateResult canCreateValue(final Resource resource, final String valueName) {
+ return GateResult.GRANTED;
+ }
+
+ @Override
+ public GateResult canUpdateValue(final Resource resource, final String valueName) {
+ return GateResult.GRANTED;
+ }
+
+ @Override
+ public GateResult canDeleteValue(final Resource resource, final String valueName) {
+ return GateResult.GRANTED;
+ }
+
+
}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
index 47b4c97..c31eba2 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate1.java
@@ -33,7 +33,7 @@ import java.util.Map;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
@Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
@Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
index 7a95703..05f6646 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalApplicationGate2.java
@@ -33,7 +33,7 @@ import java.util.Map;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
@Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
@Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
index 445a706..34f1b28 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate1.java
@@ -34,7 +34,7 @@ import java.util.Map;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
@Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
@Property(name = Constants.SERVICE_RANKING, intValue = 10, propertyPrivate = false),
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
index ff86ff9..d6653a7 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalProviderGate2.java
@@ -34,7 +34,7 @@ import java.util.Map;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
@Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update", propertyPrivate=true),
@Property(name = Constants.SERVICE_RANKING, intValue = 5, propertyPrivate = false),
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
index 7b6d773..10e2a13 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate1.java
@@ -27,7 +27,7 @@ import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
@Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
@Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
index 8dda05d..a397bd2 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ProviderGate2.java
@@ -33,7 +33,7 @@ import java.util.Map;
@Component
@Service(value=ResourceAccessGate.class)
@Properties({
- @Property(name=ResourceAccessGate.PATH, label="Path",
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(prov|mixed)/.*",
description="The path is a regular expression for which resources the service should be called"),
@Property(name=ResourceAccessGate.OPERATIONS, value="read,update", propertyPrivate=true),
@Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.PROVIDER_CONTEXT, propertyPrivate=true)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
index 9a75601..60d7579 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadAndUpdateResourceProvider.java
@@ -38,7 +38,7 @@ import java.util.concurrent.ConcurrentHashMap;
@Component(metatype = true, label = "Secured ResourceProvider")
@Service(value = ResourceProvider.class)
@Properties({
- @Property(name = ResourceProvider.ROOTS, value = "/providers/secured/read-update" ),
+ @Property(name = ResourceProvider.ROOTS, value = "/test/secured-provider/read-update" ),
@Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true, propertyPrivate=true),
@Property(name = ResourceProvider.OWNS_ROOTS, boolValue=true, propertyPrivate=true)
})
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
index a6dcddd..e3419b8 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/secured/SecuredReadResourceProvider.java
@@ -28,7 +28,7 @@ import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceP
@Component(metatype = true, label = "Secured ResourceProvider")
@Service(value = ResourceProvider.class)
@Properties({
- @Property(name = ResourceProvider.ROOTS, value = "/providers/secured/read" ),
+ @Property(name = ResourceProvider.ROOTS, value = "/test/secured-provider/read" ),
@Property(name = ResourceProvider.USE_RESOURCE_ACCESS_SECURITY, boolValue=true, propertyPrivate=true),
@Property(name = ResourceProvider.OWNS_ROOTS, boolValue=true, propertyPrivate=true)
})
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
index a34ef8c..e477f47 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadAndUpdateProvider.java
@@ -12,7 +12,7 @@ import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceP
@Component(metatype = true, label = "Unsecured ResourceProvider")
@Service(value = ResourceProvider.class)
@Properties({
- @Property(name = ResourceProvider.ROOTS, value = "/providers/unsecured/read-update" )
+ @Property(name = ResourceProvider.ROOTS, value = "/test/unsecured-provider/read-update" )
})
public class UnsecuredReadAndUpdateProvider extends SimpleModifiableResourceProvider implements ResourceProvider {
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
index 7ee83c2..579f85d 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/providers/unsecured/UnsecuredReadProvider.java
@@ -11,7 +11,7 @@ import org.apache.sling.resourceaccesssecurity.it.impl.providers.SimpleResourceP
@Component(metatype = true, label = "Unsecured ResourceProvider")
@Service(value = ResourceProvider.class)
@Properties({
- @Property(name = ResourceProvider.ROOTS, value = "/providers/unsecured/read" )
+ @Property(name = ResourceProvider.ROOTS, value = "/test/unsecured-provider/read" )
})
public class UnsecuredReadProvider extends SimpleResourceProvider implements ResourceProvider {
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
index 4029002..c9a7e36 100644
--- a/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/SecuredProviderResourceAccessSecurityTest.java
@@ -22,9 +22,8 @@ import org.junit.Test;
public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSecurityTestBase {
- @Test
public void testNonExistingResource() throws Exception {
- String path = "/providers/secured/noresource.json";
+ String path = "/test/secured-provider/noresource.json";
testRead(getServerUsername(), getServerPassword(), path, 404);
testRead(getTestUsername(), getTestPassword(), path, 404);
@@ -32,7 +31,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
@Test
public void testAllowedReadAccess() throws Exception {
- String path = "/providers/secured/read/providergate1-allowread_providergate2-denyread/test.json";
+ String path = "/test/secured-provider/read/prov/providergate1-allowread_providergate2-denyread/test.json";
testRead(getServerUsername(), getServerPassword(), path, 200);
testRead(getTestUsername(), getTestPassword(), path, 200);
@@ -41,7 +40,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
@Test
public void testDeniedReadAccessFromNonModifiableProvider() throws Exception {
- String path = "/providers/secured/read/providergate1-denyread/test.json";
+ String path = "/test/secured-provider/read/prov/providergate1-denyread/test.json";
testRead(getServerUsername(), getServerPassword(), path, 404);
testRead(getTestUsername(), getTestPassword(), path, 404);
@@ -50,7 +49,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
@Test
public void testDeniedReadAccessFromModifiableProvider() throws Exception {
- String path = "/providers/secured/read-update/providergate1-denyread/test.json";
+ String path = "/test/secured-provider/read-update/prov/providergate1-denyread/test.json";
testRead(getServerUsername(), getServerPassword(), path, 404);
testRead(getTestUsername(), getTestPassword(), path, 404);
@@ -59,7 +58,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
@Test
public void testNotDefinedReadAccess() throws Exception {
- String path = "/providers/secured/read-update/providergate2-denyupdate/test.json";
+ String path = "/test/secured-provider/read-update/prov/providergate2-denyupdate/test.json";
testRead(getServerUsername(), getServerPassword(), path, 404);
testRead(getTestUsername(), getTestPassword(), path, 404);
@@ -69,7 +68,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
@Test
public void testAllowedReadAndUpdate() throws Exception {
- String path = "/providers/secured/read-update/providergate2-allowupdate_providergate1-allowread/test.json";
+ String path = "/test/secured-provider/read-update/prov/providergate2-allowupdate_providergate1-allowread/test.json";
testRead(getTestUsername(), getTestPassword(), path, 200);
testUpdate(getTestUsername(), getTestPassword(), path, 200);
@@ -78,14 +77,14 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
@Test
public void testUpdateAllowedUpdateAllowedRead() throws Exception {
- String allowPath = "/providers/secured/read-update/providergate1-allowread_providergate1-allowupdate/test.json";
+ String allowPath = "/test/secured-provider/read-update/prov/providergate1-allowread_providergate1-allowupdate/test.json";
testUpdate(getTestUsername(), getTestPassword(), allowPath, 200);
}
@Test
public void testUpdateAllowedUpdateDeniedRead() throws Exception {
- String path = "/providers/secured/read-update/providergate2-allowupdate_providergate1-denyread/test.json";
+ String path = "/test/secured-provider/read-update/prov/providergate2-allowupdate_providergate1-denyread/test.json";
testRead(getTestUsername(), getTestPassword(), path, 404);
testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
@@ -93,7 +92,7 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
@Test
public void testUpdateDeniedUpdateDeniedRead() throws Exception {
- String path = "/providers/secured/read-update/providergate2-denyupdate_providergate1-denyread/test.json";
+ String path = "/test/secured-provider/read-update/prov/providergate2-denyupdate_providergate1-denyread/test.json";
testRead(getTestUsername(), getTestPassword(), path, 404);
testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
@@ -101,10 +100,42 @@ public class SecuredProviderResourceAccessSecurityTest extends ResourceAccessSec
@Test
public void testUpdateDeniedUpdateAllowedRead() throws Exception {
- String path = "/providers/secured/read-update/providergate2-denyupdate_providergate1-allowread_appgate1-denyupdate/test.json";
+ String path = "/test/secured-provider/read-update/prov/providergate2-denyupdate_providergate1-allowread/test.json";
testRead(getTestUsername(), getTestPassword(), path, 200);
testUpdate(getTestUsername(), getTestPassword(), path, 500, "is not modifiable");
}
+ @Test
+ public void testReadOnlyApplicationAccessGatePresent() throws Exception {
+ String path = "/test/secured-provider/read/app/appgate1_allowread/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ }
+
+ @Test
+ public void testReadMixedAccessGatesPresent() throws Exception {
+ String path1 = "/test/secured-provider/read/mixed/appgate1-allowread_providergate1-denyread/test.json";
+ String path2 = "/test/secured-provider/read/mixed/appgate1-denyread_providergate1-allowread/test.json";
+ String path3 = "/test/secured-provider/read/mixed/appgate1-allowread_providergate1-allowread/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path1, 404);
+ testRead(getTestUsername(), getTestPassword(), path2, 404);
+ testRead(getTestUsername(), getTestPassword(), path3, 200);
+ }
+
+ @Test
+ public void testReadNoAccessGatePresent() throws Exception {
+ String path = "/test/secured-provider/read/nogate/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ }
+
+ @Test
+ public void testUpdateNoAccessGatePresent() throws Exception {
+ String path = "/test/secured-provider/read-update/nogate/test.json";
+
+ testUpdate(getTestUsername(), getTestPassword(), path, 500, "UnsupportedOperationException");
+ }
+
}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
index 7895dc6..b2351da 100644
--- a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
@@ -24,7 +24,7 @@ public class UnsecuredProviderResourceAccessSecurityTest extends ResourceAccessS
@Test
public void testDeniedReadAccess() throws Exception {
- String path = "/providers/unsecured/read/providergate1-denyread/test.json";
+ String path = "/test/unsecured-provider/read/prov/providergate1-denyread/test.json";
// can be read anyway
testRead(getTestUsername(), getTestPassword(), path, 200);
@@ -33,14 +33,14 @@ public class UnsecuredProviderResourceAccessSecurityTest extends ResourceAccessS
@Test
public void testReadNonExistingResource() throws Exception {
- String path = "/providers/unsecured/nonexisting/test.json";
+ String path = "/test/unsecured-provider/read/nonexisting/test.json";
testRead(getTestUsername(), getTestPassword(), path, 404);
}
@Test
public void testReadFromNonExistingProvider() throws Exception {
- String path = "/providers/nonexisting/test.json";
+ String path = "/test/nonexisting/test.json";
testRead(getTestUsername(), getTestPassword(), path, 404);
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 09/24: Updated
to parent version 20
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 71e4ae2eb1f4562b34fa56a5e1736985af6bc35b
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Fri Aug 1 19:16:26 2014 +0000
Updated to parent version 20
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1615208 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 1de8aa9..a4a8532 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>19</version>
+ <version>20</version>
<relativePath>../../../parent/pom.xml</relativePath>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 10/24:
SLING-3919 - Update versions for integration tests
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit bff32f879cce890aed1869e40d0aaa52a3e9a1ed
Author: Mike Müller <my...@apache.org>
AuthorDate: Tue Sep 9 06:46:01 2014 +0000
SLING-3919 - Update versions for integration tests
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1623675 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/pom.xml b/pom.xml
index a4a8532..9ef608b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -289,7 +289,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.commons.json</artifactId>
- <version>2.0.6</version>
+ <version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
@@ -300,7 +300,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.5.11</version>
+ <version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
@@ -314,7 +314,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
- <version>1.5.11</version>
+ <version>1.7.6</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -326,7 +326,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
- <version>2.7.0</version>
+ <version>2.8.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
@@ -336,12 +336,12 @@
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-api</artifactId>
- <version>2.7.2</version>
+ <version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr-commons</artifactId>
- <version>2.7.2</version>
+ <version>2.7.5</version>
</dependency>
<dependency>
<groupId>javax.jcr</groupId>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 06/24: Update to
parent pom v19
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit eb9748a9f4ee18cc000008179083f4e4b58f7d8e
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Mar 31 14:39:20 2014 +0000
Update to parent pom v19
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1583337 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 5d28aea..1de8aa9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>18</version>
+ <version>19</version>
<relativePath>../../../parent/pom.xml</relativePath>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 02/24:
SLING-3435 - ResourceAccessSecurity does not secure access for update
operations, addition
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit ffca327feee970a18de4079b8281117861654fa5
Author: Mike Müller <my...@apache.org>
AuthorDate: Mon Mar 17 16:01:58 2014 +0000
SLING-3435 - ResourceAccessSecurity does not secure access for update operations, addition
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1578443 13f79535-47bb-0310-9956-ffa450edef68
---
src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
index e8a40b3..f957de7 100644
--- a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/Init.java
@@ -60,6 +60,8 @@ public class Init extends SlingAllMethodsServlet {
public String getName() {
return "testUser";
}};
+
+ session.save();
} catch (Exception e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 11/24:
SLING-3930 - Service rankings from ResourceAccessGates are not properly
handled
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit ac2f202c63cca6b2e6e1fc0f91f5e8b65d623251
Author: Mike Müller <my...@apache.org>
AuthorDate: Sun Sep 14 10:02:54 2014 +0000
SLING-3930 - Service rankings from ResourceAccessGates are not properly handled
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1624823 13f79535-47bb-0310-9956-ffa450edef68
---
.../it/impl/gates/ApplicationGate1Ranking100.java | 28 +++++++++++++++++
.../it/impl/gates/ApplicationGate1Ranking1000.java | 28 +++++++++++++++++
.../it/impl/gates/FinalAppGate1Ranking100.java | 28 +++++++++++++++++
.../it/impl/gates/FinalAppGate1Ranking1000.java | 28 +++++++++++++++++
...nsecuredProviderResourceAccessSecurityTest.java | 35 ++++++++++++++++++++++
5 files changed, 147 insertions(+)
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
new file mode 100644
index 0000000..f3648a1
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking100.java
@@ -0,0 +1,28 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT),
+ @Property(name = Constants.SERVICE_RANKING, intValue = 100, propertyPrivate = false)
+})
+public class ApplicationGate1Ranking100 extends AResourceAccessGate {
+
+ public static String GATE_ID = "appgate1ranking100";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
new file mode 100644
index 0000000..0989f95
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/ApplicationGate1Ranking1000.java
@@ -0,0 +1,28 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.OPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT),
+ @Property(name = Constants.SERVICE_RANKING, intValue = 1000, propertyPrivate = false)
+})
+public class ApplicationGate1Ranking1000 extends AResourceAccessGate {
+
+ public static String GATE_ID = "appgate1ranking1000";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
new file mode 100644
index 0000000..ae7f5d2
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking100.java
@@ -0,0 +1,28 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT),
+ @Property(name = Constants.SERVICE_RANKING, intValue = 100, propertyPrivate = false)
+})
+public class FinalAppGate1Ranking100 extends AResourceAccessGate {
+
+ public static String GATE_ID = "finalappgate1ranking100";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
new file mode 100644
index 0000000..670cec9
--- /dev/null
+++ b/src/main/java/org/apache/sling/resourceaccesssecurity/it/impl/gates/FinalAppGate1Ranking1000.java
@@ -0,0 +1,28 @@
+package org.apache.sling.resourceaccesssecurity.it.impl.gates;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.resourceaccesssecurity.ResourceAccessGate;
+import org.osgi.framework.Constants;
+
+@Component
+@Service(value=ResourceAccessGate.class)
+@Properties({
+ @Property(name=ResourceAccessGate.PATH, label="Path", value="/test/(un|)secured-provider/read(-update|)/(app|mixed)/.*",
+ description="The path is a regular expression for which resources the service should be called"),
+ @Property(name=ResourceAccessGate.FINALOPERATIONS, value="read,update"),
+ @Property(name=ResourceAccessGate.CONTEXT, value=ResourceAccessGate.APPLICATION_CONTEXT),
+ @Property(name = Constants.SERVICE_RANKING, intValue = 1000, propertyPrivate = false)
+})
+public class FinalAppGate1Ranking1000 extends AResourceAccessGate {
+
+ public static String GATE_ID = "finalappgate1ranking1000";
+
+ @Override
+ protected String getGateId() {
+ return GATE_ID;
+ }
+
+}
diff --git a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
index b2351da..6b5333a 100644
--- a/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
+++ b/src/test/java/org/apache/sling/resourceaccesssecurity/it/UnsecuredProviderResourceAccessSecurityTest.java
@@ -44,4 +44,39 @@ public class UnsecuredProviderResourceAccessSecurityTest extends ResourceAccessS
testRead(getTestUsername(), getTestPassword(), path, 404);
}
+
+ @Test
+ public void testReadOnlyApplicationAccessGatePresent() throws Exception {
+ String path = "/test/unsecured-provider/read/app/appgate1-allowread/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 200);
+ }
+
+ @Test
+ public void testCantReadOnlyApplicationAccessGatePresent() throws Exception {
+ String path = "/test/unsecured-provider/read/app/appgate1-denyread/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path, 404);
+ }
+
+ @Test
+ public void testServiceRanking() throws Exception {
+ String path1 = "/test/unsecured-provider/read/app/appgate1-allowread_finalappgate1ranking1000-denyread/test.json";
+ String path2 = "/test/unsecured-provider/read/app/appgate1-allowread_finalappgate1ranking100-denyread/test.json";
+ String path3 = "/test/unsecured-provider/read/app/finalappgate1-allowread_finalappgate1ranking1000-denyread/test.json";
+ String path4 = "/test/unsecured-provider/read/app/appgate1ranking1000-allowread_finalappgate1ranking100-denyread/test.json";
+ String path5 = "/test/unsecured-provider/read/app/appgate1ranking100-allowread_finalappgate1-denyread/test.json";
+ String path6 = "/test/unsecured-provider/read/app/appgate1-allowread_appgate1ranking1000-denyread/test.json";
+ String path7 = "/test/unsecured-provider/read/app/appgate1ranking100-allowread_appgate1ranking1000-denyread/test.json";
+
+ testRead(getTestUsername(), getTestPassword(), path1, 404);
+ testRead(getTestUsername(), getTestPassword(), path2, 404);
+ testRead(getTestUsername(), getTestPassword(), path3, 404);
+ testRead(getTestUsername(), getTestPassword(), path4, 200);
+ testRead(getTestUsername(), getTestPassword(), path5, 200);
+ testRead(getTestUsername(), getTestPassword(), path6, 200);
+ testRead(getTestUsername(), getTestPassword(), path7, 200);
+ }
+
+
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 17/24: Update to
Sling Parent 23
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit dabe9c2c9557aa9137b28cf38d3f4a8b385cafc5
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Thu Jun 25 13:08:16 2015 +0000
Update to Sling Parent 23
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1687500 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 5a39d45..41bba20 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>22</version>
+ <version>23</version>
<relativePath/>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 23/24: Remove a
dependency on commons.json that is not needed anymore.
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 82f449abdff5c9947442551b92efa2363a4d715e
Author: Karl Pauls <pa...@apache.org>
AuthorDate: Tue Mar 28 13:13:06 2017 +0000
Remove a dependency on commons.json that is not needed anymore.
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1789128 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 5 -----
1 file changed, 5 deletions(-)
diff --git a/pom.xml b/pom.xml
index 01b8192..86fb076 100644
--- a/pom.xml
+++ b/pom.xml
@@ -298,11 +298,6 @@
<!-- actual dependencies -->
<dependency>
<groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.commons.json</artifactId>
- <version>2.0.8</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.launchpad</artifactId>
<classifier>standalone</classifier>
<version>7</version>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.
[sling-org-apache-sling-resourceaccesssecurity-it] 19/24: set
parent version to 24 and add empty relativePath where missing
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceaccesssecurity-it.git
commit 95f3a210d5d28c67f26c5737a4926046c9d0f9da
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Tue Jul 7 08:09:17 2015 +0000
set parent version to 24 and add empty relativePath where missing
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1689593 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index a88f830..8a9b3a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>23</version>
+ <version>24</version>
<relativePath/>
</parent>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.