Bristol SU Support Package
src
Authorization
Middleware
CheckAdminActivityFor.php
Go to the documentation of this file.
1
<?php
2
3
namespace
BristolSU\Support\Authorization\Middleware
;
4
5
use
BristolSU\Support\Authentication\Contracts\Authentication
;
6
use
BristolSU\Support\Authorization\Exception\ActivityRequiresAdmin
;
7
use
BristolSU\Support\Logic\Facade\LogicTester
;
8
use
Closure
;
9
use
Illuminate\Http\Request
;
10
14
class
CheckAdminActivityFor
15
{
21
private
$authentication
;
22
28
public
function
__construct
(
Authentication
$authentication
)
29
{
30
$this->authentication =
$authentication
;
31
}
32
40
public
function
handle
(Request $request,
Closure
$next)
41
{
42
$activity = $request->route(
'activity_slug'
);
43
if
(!LogicTester::evaluate($activity->adminLogic, $this->authentication->getUser(), $this->authentication->getGroup(), $this->authentication->getRole())) {
44
throw
ActivityRequiresAdmin::createWithActivity
($activity,
'You must be an administrator to access this page'
, 403);
45
}
46
return
$next($request);
47
}
48
}
BristolSU\Support\Authorization\Middleware\CheckAdminActivityFor\__construct
__construct(Authentication $authentication)
Definition:
CheckAdminActivityFor.php:28
BristolSU\Support\Authentication\Contracts\Authentication
Definition:
Authentication.php:15
BristolSU\Support\Authorization\Middleware
Definition:
CheckActivityEnabled.php:3
Closure
BristolSU\Support\Authorization\Middleware\CheckAdminActivityFor
Definition:
CheckAdminActivityFor.php:14
BristolSU\Support\Authorization\Middleware\CheckAdminActivityFor\$authentication
$authentication
Definition:
CheckAdminActivityFor.php:21
Authentication
BristolSU\Support\Authorization\Middleware\CheckAdminActivityFor\handle
handle(Request $request, Closure $next)
Definition:
CheckAdminActivityFor.php:40
ActivityRequiresAdmin
Request
BristolSU\Support\Authorization\Exception\ActivityRequiresAdmin\createWithActivity
static createWithActivity(Activity $activity, string $message='', int $code=0)
Definition:
ActivityRequiresAdmin.php:44
LogicTester
Generated by
1.8.13