kelunik/access-control
is a role based access control system.
- PHP 7.0+
composer require kelunik/access-control
$guest = new SimpleRole("guest", ["read"]);
$member = new CombinedRole("member", [$guest], ["read.internal"]);
$student = new CombinedRole("student", [$guest, $member], ["write.internal"]);
$staff = new CombinedRole("staff", [$guest, $member], ["write"]);
$accessControl = new AccessControl([
$guest, $member, $student, $staff
]);
$isAllowed = $accessControl->isGranted(["member", "staff"], "write");