/** * Initializes annotations in application. * * @param Core $core */ public function init(Core $core) { AnnotationRegistry::registerAutoloadNamespace('\\Dgafka\\AuthorizationSecurity\\UI\\Annotation\\Type', __DIR__ . '/Type'); $expressionReader = new ExpressionReader(new ExpressionLanguage($core->config()->debugMode() ? null : new ExpressionLanguageCache(new FilesystemCache($core->config()->cachePath() . '/expressions')))); $aopKernel = Kernel::getInstance(); $aopKernel->init(array('debug' => $core->config()->debugMode(), 'cacheDir' => $core->config()->cachePath() . '/aop', 'includePaths' => $core->config()->includePaths())); $core->initialize(DIContainer::getInstance(), $expressionReader); }
/** * @Given security contains own policies */ public function securityContainsOwnPolicies() { $this->applicationCore->registerSecurityPolicy('isLocalHost', function () { return new \Dgafka\Fixtures\Policies\IsLocalHost(); }); $this->applicationCore->registerSecurityPolicy('isMonday', function () { return new \Dgafka\Fixtures\Policies\IsMonday(); }); $this->applicationCore->registerSecurityPolicy('isSuperUser', function () { return new \Dgafka\Fixtures\Policies\IsSuperUser(); }); $this->applicationCore->registerSecurityPolicy('userLevelHigherThan5', function () { return new \Dgafka\Fixtures\Policies\UserLevelHigherThan5(); }); }
/** * Initializes annotations in application. * * @param Core $core */ public function init(Core $core) { $expressionReader = new ExpressionReader(new ExpressionLanguage($core->config()->debugMode() ? null : new ExpressionLanguageCache(new FilesystemCache($core->config()->cachePath() . '/expressions')))); $core->initialize(DIContainer::getInstance(), $expressionReader); }
<?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);