mirror of
https://github.com/verdigado/organization_folders.git
synced 2024-12-06 11:22:41 +01:00
Added security classes and draft version of ResourceVoter
This commit is contained in:
parent
22c06b5689
commit
88cb258c2b
11 changed files with 428 additions and 0 deletions
40
lib/Controller/BaseController.php
Normal file
40
lib/Controller/BaseController.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
namespace OCA\OrganizationFolders\Controller;
|
||||
|
||||
use OCA\OrganizationFolders\AppInfo\Application;
|
||||
use OCA\OrganizationFolders\Errors\AccessDenied;
|
||||
use OCA\OrganizationFolders\Security\AuthorizationService;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\IRequest;
|
||||
|
||||
class BaseController extends Controller {
|
||||
private AuthorizationService $authorizationService;
|
||||
|
||||
public function __construct(
|
||||
) {
|
||||
parent::__construct(
|
||||
Application::APP_ID,
|
||||
\OC::$server->get(IRequest::class),
|
||||
);
|
||||
|
||||
$this->authorizationService = \OC::$server->get(AuthorizationService::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Throws an exception unless the attributes are granted for the current authentication user and optionally
|
||||
* supplied subject.
|
||||
*
|
||||
* @param string[] $attributes The attributes
|
||||
* @param mixed $subject The subject
|
||||
* @param string[] $attributes Attributes of subject
|
||||
* @param string $message The message passed to the exception
|
||||
*
|
||||
* @throws AccessDenied
|
||||
*/
|
||||
protected function denyAccessUnlessGranted(array $attributes, $subject, $message = 'Access Denied.') {
|
||||
if (!$this->authorizationService->isGranted($attributes, $subject)) {
|
||||
throw new AccessDenied($message);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue