コード例 #1
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();
     });
 }
コード例 #2
0
//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();
$shouldCatchException = false;
try {
    $example->tellMeWhy();