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