summaryrefslogtreecommitdiffstats
path: root/lib/private/appframework
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2014-11-14 17:20:51 +0100
committerLukas Reschke <lukas@owncloud.com>2014-11-15 11:13:55 +0100
commitcd5925036a6cfb1f3f4e27a5d1893cbf7a10be47 (patch)
treeb98cf7853f08eeaa7daa0b5f41b78ba9a651b08c /lib/private/appframework
parent0f3c5d8541dcb41eebd00f22864a0a646c11124f (diff)
downloadnextcloud-server-cd5925036a6cfb1f3f4e27a5d1893cbf7a10be47.tar.gz
nextcloud-server-cd5925036a6cfb1f3f4e27a5d1893cbf7a10be47.zip
Check if app is enabled for user
Fixes https://github.com/owncloud/core/issues/12188 for AppFramework apps
Diffstat (limited to 'lib/private/appframework')
-rw-r--r--lib/private/appframework/middleware/security/securitymiddleware.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/private/appframework/middleware/security/securitymiddleware.php b/lib/private/appframework/middleware/security/securitymiddleware.php
index 948a43ce0f4..0a694318634 100644
--- a/lib/private/appframework/middleware/security/securitymiddleware.php
+++ b/lib/private/appframework/middleware/security/securitymiddleware.php
@@ -34,6 +34,7 @@ use OCP\INavigationManager;
use OCP\IURLGenerator;
use OCP\IRequest;
use OCP\ILogger;
+use OCP\AppFramework\Controller;
/**
@@ -116,6 +117,16 @@ class SecurityMiddleware extends Middleware {
}
}
+ /**
+ * FIXME: Use DI once available
+ * Checks if app is enabled (also inclues a check whether user is allowed to access the resource)
+ * The getAppPath() check is here since components such as settings also use the AppFramework and
+ * therefore won't pass this check.
+ */
+ if(\OC_App::getAppPath($this->appName) !== false && !\OC_App::isEnabled($this->appName)) {
+ throw new SecurityException('App is not enabled', Http::STATUS_PRECONDITION_FAILED);
+ }
+
}