diff --git a/README.md b/README.md index 8377495..20cdd6a 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,7 @@ AclServiceProvider ================== author : M.Paraiso -contact: mparaiso@online.fr \ No newline at end of file + +contact: mparaiso@online.fr + +status : work in progress diff --git a/composer.json b/composer.json index cc47f92..1d692cd 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,8 @@ "php": ">=5.3.3", "doctrine/dbal": "2.3.*", "symfony/security": "2.2.*", - "symfony/console":"2.2.*" + "symfony/console":"2.2.*", + "mparaiso/consoleserviceprovider":"*@dev" }, "suggest": {}, "autoload": { diff --git a/src/Mparaiso/Provider/AclServiceProvider.php b/src/Mparaiso/Provider/AclServiceProvider.php index ed6aadb..729688d 100644 --- a/src/Mparaiso/Provider/AclServiceProvider.php +++ b/src/Mparaiso/Provider/AclServiceProvider.php @@ -1,6 +1,7 @@ "acl_classes", "entry_table_name" => "acl_entries", "oid_table_name" => "acl_object_identities", "oid_ancestors_table_name" => "acl_object_identity_ancestors", "sid_table_name" => "acl_security_identities" ); - $app["security.acl.object_identity_retrieval_strategy"] = $app->share(function ($app) { + $app["security.acl.object_identity_retrieval_strategy"] = $app->share(function ($app) { return new ObjectIdentityRetrievalStrategy(); }); $app["security.acl.security_identity_retrieval_strategy"] = $app->share(function ($app) { return new SecurityIdentityRetrievalStrategy($app["security.role_hierarchy"], $app["security.authentication.trust_resolver"]); }); - $app["security.acl.permission_granting_strategy"] = $app->share(function ($app) { + $app["security.acl.permission_granting_strategy"] = $app->share(function ($app) { $service = new PermissionGrantingStrategy(); $service->setAuditLogger($app["security.acl.audit_logger"]); return $service; }); - $app["security.acl.permission.map"] = $app->share(function ($app) { + $app["security.acl.permission.map"] = $app->share(function ($app) { return new AclVoter($app["security.acl.provider"], $app["security.acl.object_identity_retrieval_strategy"], $app['security.acl.security_identity_retrieval_strategy'], $app['security.acl.permission.map'], $app["logger"]); }); - $app["security.acl.dbal.connection"] = $app->share(function ($app) { + $app["security.acl.dbal.connection"] = $app->share(function ($app) { return $app["db"]; }); - $app["security.acl.dbal.provider"] = $app->share(function ($app) { + $app["security.acl.dbal.provider"] = $app->share(function ($app) { return new AclProvider($app["security.acl.dbal.connection"], $app["security.acl.permission_granting_strategy"], $app["security.acl.dbal.provider.options"], $app["security.acl.cache"]); }); - $app['security.acl.dbal.schema'] = $app->share(function ($app) { + $app['security.acl.dbal.schema'] = $app->share(function ($app) { return new Schema($app["security.acl.dbal.provider.options"], $app["security.acl.dbal.connection"]); }); $app["security.acl.dbal.schema_listener"] = $app->share(function ($app) { return new AclSchemaListener($app); }); - $app["security.acl.provider"] = $app->share(function($app){ - return $app["security.acl.dbal.provider"]; + $app["security.acl.provider"] = $app->share(function ($app) { + return $app["security.acl.dbal.provider"]; }); - $app["security.acl.cache.doctrine"] = $app->share(function($app){ - return new DoctrineAclCache($app['security.acl.cache.doctrine.cache_impl'],$app['security.acl.permission_granting_strategy']); + $app["security.acl.cache.doctrine"] = $app->share(function ($app) { + return new DoctrineAclCache($app['security.acl.cache.doctrine.cache_impl'], $app['security.acl.permission_granting_strategy']); }); - $app["security.acl.cache.doctrine.cache_impl"]=$app->share(function($app){ - return $app['"doctrine.orm.default_result_cache"']; + $app["security.acl.cache.doctrine.cache_impl"] = $app->share(function ($app) { + return $app['"doctrine.orm.default_result_cache"']; + }); + $app["security.acl.permission.map"] = $app->share(function ($app) { + return new BasicPermissionMap(); }); - $app["security.acl.permission.map"] = $app->share(function($app){ - return new BasicPermissionMap(); + + // FR : ajouter la command InitAcl + // EN : add InitAclCommand + $app->on(ConsoleServiceProvider::INIT, function () use ($app) { + /* @var $console \Symfony\Component\Console\Application */ + $app["console"]->add(new InitAclCommand); + return $console; }); + + } /**