/** * @Given :arg1 security */ public function security($securityName) { $this->securityName = $securityName; \org\bovigo\vfs\vfsStream::setup('home'); $this->container = \Dgafka\Fixtures\Application\DIContainer::getInstance(); $this->applicationCore = new \Dgafka\AuthorizationSecurity\Application\Core(new \Dgafka\AuthorizationSecurity\Application\CoreConfig(array(\org\bovigo\vfs\vfsStream::url('home')), \org\bovigo\vfs\vfsStream::url('home/cache'), true)); switch ($securityName) { case 'role': $this->applicationCore->registerSecurityType('role', function () { return new \Dgafka\AuthorizationSecurity\Domain\Security\Type\StandardSecurity(); }); break; case 'lattice': $this->applicationCore->registerSecurityType('lattice', function () { return new \Dgafka\AuthorizationSecurity\Domain\Security\Type\StandardSecurity(); }); break; case 'ibac': $this->applicationCore->registerSecurityType('ibac', function () { return new \Dgafka\Fixtures\IBAC\IBACSecurity($this->userPermission); }); break; default: throw new \Exception("Operation not permitted"); } }
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); //Tests echo "\nFirst Example:\n"; $example = new \Dgafka\Examples\BasicUsage(); $example->doIt(); echo "\nSecond Example:\n"; $example = new \Dgafka\Examples\TestExpression();