diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2016-02-23 10:23:03 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2016-02-23 10:23:03 +0100 |
commit | 59acc53483bd7c61285fa2495992836c3e00e74b (patch) | |
tree | 483199ad78eefdb8c88bfe5c47ce36148cc4ab2d /settings | |
parent | 83d5080e78fa481db3855da8fcd75f624f8cac1c (diff) | |
parent | 6c96b3d07f7248d1ab4066dbf71025753de1a0a9 (diff) | |
download | nextcloud-server-59acc53483bd7c61285fa2495992836c3e00e74b.tar.gz nextcloud-server-59acc53483bd7c61285fa2495992836c3e00e74b.zip |
Merge pull request #22551 from owncloud/make-exceptions-easier-to-debug
Throw normal exceptions instead of eating them
Diffstat (limited to 'settings')
-rw-r--r-- | settings/middleware/subadminmiddleware.php | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/settings/middleware/subadminmiddleware.php b/settings/middleware/subadminmiddleware.php index 00f221721a6..8e138bdc1a8 100644 --- a/settings/middleware/subadminmiddleware.php +++ b/settings/middleware/subadminmiddleware.php @@ -23,6 +23,7 @@ namespace OC\Settings\Middleware; use OC\AppFramework\Http; +use OC\Appframework\Middleware\Security\Exceptions\NotAdminException; use OC\AppFramework\Utility\ControllerMethodReflector; use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Middleware; @@ -58,7 +59,7 @@ class SubadminMiddleware extends Middleware { public function beforeController($controller, $methodName) { if(!$this->reflector->hasAnnotation('NoSubadminRequired')) { if(!$this->isSubAdmin) { - throw new \Exception('Logged in user must be a subadmin'); + throw new NotAdminException('Logged in user must be a subadmin'); } } } @@ -69,11 +70,16 @@ class SubadminMiddleware extends Middleware { * @param string $methodName * @param \Exception $exception * @return TemplateResponse + * @throws \Exception */ public function afterException($controller, $methodName, \Exception $exception) { - $response = new TemplateResponse('core', '403', array(), 'guest'); - $response->setStatus(Http::STATUS_FORBIDDEN); - return $response; + if($exception instanceof NotAdminException) { + $response = new TemplateResponse('core', '403', array(), 'guest'); + $response->setStatus(Http::STATUS_FORBIDDEN); + return $response; + } + + throw $exception; } } |