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