/** * @Given is user with id :userID */ public function isUserWithId($userID) { switch ($this->securityName) { case 'role': $additional = $this->userRoles[$userID]; $this->applicationCore->registerUserFactory($this->securityName, function () use($userID, $additional) { return new \Dgafka\Fixtures\Factory\RoleUserFactory($userID, $additional); }); break; case 'lattice': $additional = $this->userRoles[$userID]; $this->applicationCore->registerUserFactory($this->securityName, function () use($userID, $additional) { return new \Dgafka\Fixtures\Factory\LatticeUserFactory($userID, $additional); }); break; case 'ibac': $this->applicationCore->registerUserFactory($this->securityName, function () use($userID) { return new \Dgafka\Fixtures\IBAC\IdentityUserFactory($userID); }); break; default: throw new \Exception("Operation not permitted"); } }
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(-1); require __DIR__ . '/../../vendor/autoload.php'; use Dgafka\AuthorizationSecurity\Application\Core; use Dgafka\AuthorizationSecurity\Application\CoreConfig; use Dgafka\AuthorizationSecurity\UI\Annotation\AnnotationSecurity; //Initialization $core = new Core(new CoreConfig(array(__DIR__), __DIR__ . '/../cache', true)); $core->registerUserFactory('roleUserFactory', function () { return new \Dgafka\Fixtures\Factory\RoleUserFactory(1, ['test']); }); $core->registerUserFactory('identityUserFactory', function () { return new \Dgafka\Fixtures\IBAC\IdentityUserFactory(10); }); $core->registerResourceFactory('resourceFactory', function () { return new \Dgafka\Fixtures\IBAC\ExampleResourceFactory(); }); $core->registerSecurityType('ibac', function () { return new \Dgafka\Fixtures\IBAC\IBACSecurity(new \Dgafka\Fixtures\IBAC\SimpleACL(['10' => [10, 12]])); }); $core->registerSecurityPolicy('isLocalHost', function () { return new \Dgafka\Fixtures\Policies\IsLocalHost(); }); $core->registerSecurityPolicy('isMonday', function () { return new \Dgafka\Fixtures\Policies\IsMonday(); }); $annotationSecurity = AnnotationSecurity::getInstance(); $annotationSecurity->init($core);