ILIAS  release_8 Revision v8.24
class.ilObjFileServicesAccess.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
5/******************************************************************************
6 *
7 * This file is part of ILIAS, a powerful learning management system.
8 *
9 * ILIAS is licensed with the GPL-3.0, you should have received a copy
10 * of said license along with the source code.
11 *
12 * If this is not the case or you just want to try ILIAS, you'll find
13 * us at:
14 * https://www.ilias.de
15 * https://github.com/ILIAS-eLearning
16 *
17 *****************************************************************************/
18
20
26{
27 private Services $http;
28 private \ilRbacSystem $rbacsystem;
29
33 public function __construct()
34 {
35 global $DIC;
36 $this->rbacsystem = $DIC->rbac()->system();
37 $this->http = $DIC->http();
38 }
39
40 public function checkAccessAndThrowException(string $permission): void
41 {
42 if (!$this->hasUserPermissionTo($permission)) {
43 throw new ilException('Permission denied');
44 }
45 }
46
47
48 public function hasUserPermissionTo(string $permission): bool
49 {
50 return $this->rbacsystem->checkAccess($permission, $this->http->request()->getQueryParams()['ref_id']);
51 }
52}
Class Services.
Definition: Services.php:38
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ilObjFileServicesAccess.
__construct()
ilObjFileServicesAccess constructor.
checkAccessAndThrowException(string $permission)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28
static http()
Fetches the global http state from ILIAS.