コード例 #1
0
 /**
  * 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);
 }
コード例 #2
0
 /**
  * @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();
     });
 }
コード例 #3
0
 /**
  * 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);
 }
コード例 #4
0
<?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);